[FIR] Add UNCHECKED_CAST
Regenerate diagnostics code
This commit is contained in:
committed by
TeamCityServer
parent
1fbccff1bd
commit
d0a4ca199d
@@ -11,7 +11,7 @@ class B<T> {
|
||||
fun <Y> foo(c: A<Y>): Y = TODO()
|
||||
|
||||
fun <E> main(a: A<E>) {
|
||||
a as A<B<*>>
|
||||
a <!UNCHECKED_CAST!>as A<B<*>><!>
|
||||
|
||||
foo(a).b()
|
||||
}
|
||||
@@ -21,7 +21,7 @@ class AOut<out X>
|
||||
fun <Y> foo(c: AOut<Y>): Y = TODO()
|
||||
|
||||
fun <E> mainOut(a: AOut<E>) {
|
||||
a as AOut<B<*>>
|
||||
a <!UNCHECKED_CAST!>as AOut<B<*>><!>
|
||||
|
||||
foo(a).b()
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||
|
||||
class Inv<T>
|
||||
fun <T> materializeInv() = Inv<T>()
|
||||
fun <X> foo(x: Inv<X>, y: X) = materializeInv<X>()
|
||||
fun <X> foo(x: Inv<X>, y: () -> X) = materializeInv<X>()
|
||||
|
||||
fun <R> main(fn: () -> R) {
|
||||
fun bar(): R = null as R
|
||||
val x1 = foo<R>(materializeInv()) { fn() } // OVERLOAD_RESOLUTION_AMBIGUITY only in NI
|
||||
val x2 = foo<R>(materializeInv(), fn) // OK
|
||||
val x3 = foo<R>(materializeInv(), ::bar) // OK
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user