I have a simple sealed class and a concrete class using @Serializable. However when compiling I always end up with an error.
// EventPayload.kt
@Serializable
sealed class EventPayload {
val type: String
get() = this::class.simpleName!!
}
// TaskPayload.kt
@Serializable
data class TaskPayload(
val initiator: String
) : EventPayload()
The error
Class 'TaskPayload' is not registered for polymorphic serialization in the scope of 'EventPayload'.
Mark the base class as 'sealed' or register the serializer explicitly.
kotlinx.serialization.SerializationException: Class 'TaskPayload' is not registered for polymorphic serialization in the scope of 'EventPayload'.
Mark the base class as 'sealed' or register the serializer explicitly.