v79
01/21/2023, 8:37 PMEntity<T>? Assuming T is @Serializable, how do I write Json.encodeToString(T.serializer(),entity)? Ideally without reflection because presumably kotlinx.serialization does it without reflection?Adam S
01/21/2023, 8:42 PMT can’t be type-erased
import kotlinx.serialization.KSerializer
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.serializer
val serializersModule = SerializersModule { }
fun <T> failure() {
// Cannot use 'T' as reified type parameter. Use a class instead.
val serializer: KSerializer<T> = serializersModule.serializer<T>()
}
inline fun <reified T> reified() {
val serializer: KSerializer<T> = serializersModule.serializer<T>()
}v79
01/21/2023, 8:46 PMephemient
01/21/2023, 9:00 PMSerializersModule.serializer(KType) functionephemient
01/21/2023, 9:02 PMKType you can either use typeOf<T>() where T is not type-erased, or T::class.createType() where T is type-erased but you have access to KClass<T>, assuming it has no type parametersv79
01/21/2023, 9:13 PMv79
01/21/2023, 10:39 PM