reactormonk
05/24/2024, 12:43 PMT in the inner object.
@Serializable
sealed interface Request<T> {
data object Get
data class Set(val value: T) : ReturnValue
}dmitriy.novozhilov
05/24/2024, 12:47 PMinner classes can catch type parameters of containing classes as each specific object will have it's own actual parametrization
Set class in your example is not inner, but nested classreactormonk
05/24/2024, 12:49 PMYoussef Shoaib [MOD]
05/24/2024, 1:02 PMRequest? If so, the solution is simple:
@Serializable
sealed interface Request<out T> {
data object Get: Request<Nothing>
data class Set<out T>(val value: T) : ReturnValue, Request<T>
}reactormonk
05/24/2024, 1:02 PMYoussef Shoaib [MOD]
05/24/2024, 1:05 PMinner class is a very specific OOP concept. The closest general Kotlin feature would be something like context(...) class (which is getting removed lol). What you likely want is something akin to this:
@Serializable
sealed interface Request<T> {
data object Get
data class Set<T>(val request: Request<T>, val value: T) : ReturnValue
}
But as you can see, this is useless since rn there's no implementors of Request