ribesg
01/06/2021, 5:11 PMnanodeath
01/06/2021, 5:16 PMBen Madore
01/06/2021, 5:24 PMinterface A
interface B
class C : A, B
class Handler<T>
open class Handlers<T>(val list: List<Handler<in T>>)
class CHandlers: Handlers<C>(listOf<Handler<in C>>(Handler<A>(), Handler<B>()))
fun main(args: Array<String>) {
CHandlers()
println("Hello world")
}
That seems to workribesg
01/06/2021, 5:44 PMnanodeath
01/06/2021, 5:45 PMnanodeath
01/06/2021, 5:47 PMribesg
01/06/2021, 5:49 PMBen Madore
01/06/2021, 5:54 PMYoussef Shoaib [MOD]
01/09/2021, 11:09 PMinterface A
interface B
class C : A, B
class Handler<T>
open class Handlers<T>(val list: List<Handler<in T>>)
class CHandlers : Handlers<C>(listOf(Handler<A>(), Handler<B>()))
fun main(args: Array<String>) {
CHandlers()
println("Hello world")
}
fun <T, H: Handler<in T>> listOf(vararg handlers: H): List<H> = handlers.toList()
Youssef Shoaib [MOD]
01/09/2021, 11:33 PMH
as a type param I just realised. Here's a working example without it