Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/completion/withExact.kt
T

26 lines
568 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
import kotlin.internal.Exact
class Inv<I>(val arg: I)
class InvExact<E>(val arg: @kotlin.internal.Exact E)
interface Base
class Derived : Base
class Other : Base
fun <K> id(arg: K): K = arg
fun test1(arg: Derived) {
id<Inv<Base>>(Inv(arg))
id<Inv<Base>>(<!TYPE_MISMATCH!>InvExact(arg)<!>)
}
fun <R> Inv<@Exact R>.select(first: R, second: R): R = TODO()
fun test2(derived: Derived, other: Other) {
Inv(derived).select(derived, <!TYPE_MISMATCH!>other<!>)
}