// This file was automatically generated from polymorphism.md by Knit tool. Do not edit. package example.examplePoly15 import kotlinx.serialization.* import kotlinx.serialization.json.* import kotlinx.serialization.modules.* val module = SerializersModule { polymorphic(Any::class) { subclass(OwnedProject::class) } } val format = Json { serializersModule = module } interface Project { val name: String } @Serializable @SerialName("owned") class OwnedProject(override val name: String, val owner: String) : Project @Serializable class Data( @Polymorphic // the code does not compile without it val project: Any ) fun main() { val data = Data(OwnedProject("kotlinx.coroutines", "kotlin")) println(format.encodeToString(data)) }