25 lines
391 B
Kotlin
Vendored
25 lines
391 B
Kotlin
Vendored
// !CHECK_TYPE
|
|
|
|
package a
|
|
|
|
import checkSubtype
|
|
|
|
fun <T> id(t: T): T = t
|
|
|
|
fun <T> either(t1: T, t2: T): T = t1
|
|
|
|
fun test() {
|
|
val a: Float = id(2.0.toFloat())
|
|
|
|
val b = id(2.0)
|
|
checkSubtype<Double>(b)
|
|
|
|
val c = either<Number>(1, 2.3)
|
|
checkSubtype<Number>(c)
|
|
|
|
val d = either(11, 2.3)
|
|
checkSubtype<Any>(d)
|
|
|
|
val e: Float = <!TYPE_MISMATCH, TYPE_MISMATCH!>id(1)<!>
|
|
}
|