94c46d384a
```
interface A {
fun <T> foo(): T
}
class B(val a: A) : A by A {
generated fun <T'> foo(): T' {
return a.foo() // <------
}
}
```
There was a problem that type of generated delegated call used
an unsubstituted type of the original delegated declaration, which led
to a situation when (see example) type of call `a.foo()` was not `T'`
but `T`, which led to incorrect IR and further exceptions on backend
^KT-64257 Fixed
^KT-64284 Obsolete
8 lines
98 B
Kotlin
Vendored
8 lines
98 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
interface I {
|
|
val <T> T.id: T
|
|
get() = this
|
|
}
|
|
|
|
class A(i: I) : I by i
|