[FIR] Narrow down range of NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER
This uses the same approach as INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION where we use a visitor to find a call to a symbol that contains the type variable in question. #KT-56140 Fixed
This commit is contained in:
committed by
Space Team
parent
4690a430f4
commit
fbf68a5bcc
+2
-2
@@ -262,8 +262,8 @@ class Main<L>(x: L?, y: L) {
|
||||
val x471 = foo47(y)
|
||||
|
||||
fun <R> takeLambda(block: () -> R): R = materialize()
|
||||
val x480 = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeLambda<!> { foo48 { <!ARGUMENT_TYPE_MISMATCH!>x<!> } }
|
||||
val x481 = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeLambda<!> { foo48 { <!ARGUMENT_TYPE_MISMATCH!>y<!> } }
|
||||
val x480 = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeLambda<!> { <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo48<!> { <!ARGUMENT_TYPE_MISMATCH!>x<!> } }
|
||||
val x481 = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>takeLambda<!> { <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo48<!> { <!ARGUMENT_TYPE_MISMATCH!>y<!> } }
|
||||
val x482 = takeLambda { foo48 { null } }
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ public class Foo {
|
||||
// FILE: test.kt
|
||||
|
||||
fun test(e: <!UNRESOLVED_REFERENCE!>ErrorType<!>) {
|
||||
Foo.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo<!> {
|
||||
Sam.Result.create(e)
|
||||
Foo.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo<!> {
|
||||
Sam.Result.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>create<!>(e)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface Inv<I>
|
||||
interface Inv2<I>
|
||||
|
||||
fun <T: Inv2<T>> foo(klass: Inv<T>): String? = null
|
||||
|
||||
fun <X> bar(): Inv<X> = null!!
|
||||
|
||||
fun test() {
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>foo<!>(bar())
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface Inv<I>
|
||||
|
||||
Reference in New Issue
Block a user