384bd858e9
Allow full compltion mode for return type depending on type parameters in contravariant position only if they have proper equality constraint.
17 lines
327 B
Kotlin
Vendored
17 lines
327 B
Kotlin
Vendored
// !LANGUAGE: +NewInference
|
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
|
|
class In<in I>(arg: I)
|
|
class Out<out O>(val prop: O)
|
|
class Inv<T>(val prop: T)
|
|
|
|
interface Upper
|
|
class Lower : Upper
|
|
|
|
fun <K> id(arg: K): K = arg
|
|
|
|
fun test(lower: Lower) {
|
|
id<Inv<Upper>>(Inv(lower))
|
|
id<In<Upper>>(In(lower))
|
|
id<Out<Upper>>(Out(lower))
|
|
} |