What about some hack? ``` interface GenericInterfa...
# announcements
s
What about some hack?
Copy code
interface GenericInterface<T>
class GenericImpl<T>(t: T) : GenericInterface<T>

fun GenericImpl(t: Nothing): Nothing {
    return t
}

fun <T> genericConsumer(thing: GenericInterface<T>) {
}

fun genericConsumer(thing: Nothing) {
}


fun compileMe() {
    genericConsumer(GenericImpl("hello"))
    genericConsumer(GenericImpl(throw RuntimeException()))
}

fun Any.genericExtension(thing: Nothing) {
}

fun <T> T.genericExtension(thing: GenericInterface<T>) {
}

fun compileMe2() {
    "world".genericExtension(GenericImpl("hello"))
    "world".genericExtension(GenericImpl(2))
    "world".genericExtension(GenericImpl(throw RuntimeException()))

}