e2c02f825f
Instead of erasing descriptors with conflicting substitution, use invariant CapturedType(<projection>) as replacement for type parameter within default member scope. After substitution leave such types 'as is' everywhere except return types, use common approximation for them. #KT-9294 In Progress #KT-5411 Fixed #KT-8647 Fixed #KT-9462 Fixed #KT-9893 Fixed #KT-7581 Fixed #KT-7296 In Progress
11 lines
178 B
Kotlin
Vendored
11 lines
178 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
// See KT-7296
|
|
interface A<T>
|
|
interface B<T> : A<A<T>>
|
|
|
|
fun foo(x : B<*>) {
|
|
bar(x) // this should not be valid
|
|
}
|
|
|
|
fun bar(x : A<A<*>>) { }
|