diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializerDescriptorResolver.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializerDescriptorResolver.kt index 47a505850f2..60cd5855c7b 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializerDescriptorResolver.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/resolve/KSerializerDescriptorResolver.kt @@ -394,9 +394,13 @@ object KSerializerDescriptorResolver { f.source) ) - val kSerialClass = thisClass.getClassFromSerializationPackage("KSerializer").toSimpleType(false) + val kSerialClassDesc = thisClass.getClassFromSerializationPackage("KSerializer") thisClass.declaredTypeParameters.forEach { + val typeArgument = TypeProjectionImpl(it.defaultType) + val kSerialClass = KotlinTypeFactory.simpleNotNullType(Annotations.EMPTY, kSerialClassDesc, listOf(typeArgument)) + + args.add(ValueParameterDescriptorImpl( f, null,