<@U0BDMQTHS>: I guess you actually want somethin...
# announcements
c
@mikehearn: I guess you actually want something like that, isn't it?
Copy code
interface A<out T : A<T>> {
    fun doSomething(): T
}

data class B(val str: String) : A<B> {
    override fun doSomething(): B {
        val c = copy()
        return c
    }
}