[FIR-TEST] Add new testdata generated after changes in previous commit
This commit is contained in:
+9
@@ -0,0 +1,9 @@
|
||||
package a
|
||||
|
||||
fun <T, R, S> foo(block: (T)-> R, second: (T)-> S) = block
|
||||
|
||||
fun main() {
|
||||
val fff = { x: Int -> <!UNRESOLVED_REFERENCE!>aaa<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(fff, { x -> x + 1 })
|
||||
}
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
//For testing error messages text see DiagnosticMessageTest.testFunctionPlaceholder
|
||||
package a
|
||||
|
||||
class A<T, R>
|
||||
fun <T, R> foo(a: A<T, R>) = a
|
||||
fun <T, R> bar(f: (T) -> R) = f
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!> { <!UNRESOLVED_REFERENCE!>it<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!> { x -> x}
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!> { x: Int -> x}
|
||||
|
||||
bar { it <!UNRESOLVED_REFERENCE!>+<!> 1 }
|
||||
bar { x -> x <!UNRESOLVED_REFERENCE!>+<!> 1}
|
||||
bar { x: Int -> x + 1}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package a
|
||||
|
||||
interface Closeable {}
|
||||
class C : Closeable {}
|
||||
|
||||
fun <T: Closeable, R> T.foo(block: (T)-> R) = block
|
||||
|
||||
fun <T: Closeable, R> T.foo(block: (T, T)-> R) = block
|
||||
|
||||
fun main() {
|
||||
C().foo { // no ambiguity here
|
||||
www ->
|
||||
<!UNRESOLVED_REFERENCE!>xs<!>
|
||||
}
|
||||
}
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
package aa
|
||||
|
||||
fun <T, R> foo(block: (T)-> R) = block
|
||||
|
||||
fun test1() {
|
||||
foo {
|
||||
x -> // here we have 'cannot infer parameter type' error
|
||||
43
|
||||
}
|
||||
}
|
||||
|
||||
fun bar(f: (A)->Unit) {}
|
||||
|
||||
fun test2() {
|
||||
bar { a -> } // here we don't have 'cannot infer parameter type' error
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun <K> id2(x: K, s: String): K = x
|
||||
fun <K> ret(s: String): K = TODO()
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>id2<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>, "foo")
|
||||
<!INAPPLICABLE_CANDIDATE!>id2<!>(<!UNRESOLVED_REFERENCE!>unresolved<!>, 42)
|
||||
|
||||
ret("foo")
|
||||
<!INAPPLICABLE_CANDIDATE!>ret<!>(42)
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun test() {
|
||||
val a = <!INAPPLICABLE_CANDIDATE!>-<!>false
|
||||
}
|
||||
|
||||
operator fun A.unaryMinus() {}
|
||||
operator fun B.unaryMinus() {}
|
||||
class A
|
||||
class B
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
package a
|
||||
|
||||
fun <R> foo (f: ()->R, r: MutableList<R>) = r.add(f())
|
||||
fun <R> bar (r: MutableList<R>, f: ()->R) = r.add(f())
|
||||
|
||||
fun test() {
|
||||
val a = foo({1}, arrayListOf("")) //no type inference error on 'arrayListOf'
|
||||
val b = bar(arrayListOf(""), {1})
|
||||
}
|
||||
|
||||
// from standard library
|
||||
fun <T> arrayListOf(vararg values: T) : MutableList<T> {}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
class X
|
||||
|
||||
operator fun <T> X.component1(): T = TODO()
|
||||
|
||||
fun test() {
|
||||
val (y) = X()
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
class X
|
||||
|
||||
operator fun <T> X.iterator(): Iterable<T> = TODO()
|
||||
|
||||
fun test() {
|
||||
<!UNRESOLVED_REFERENCE, UNRESOLVED_REFERENCE!>for (i in X()) {
|
||||
}<!>
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
class A
|
||||
fun A.fn(b: Int): Nothing = TODO()
|
||||
|
||||
fun A.run() {
|
||||
"".apply { <!INAPPLICABLE_CANDIDATE!>fn<!>("") }
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun Runnable.test(f: Runnable.(Int) -> Unit) {
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>("")
|
||||
}
|
||||
|
||||
fun test(f: Runnable.(Int) -> Unit, runnable: Runnable) {
|
||||
with (runnable) {
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>("")
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.test(f: String.(Int) -> Unit) {
|
||||
f("", 0)
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>("")
|
||||
with("") {
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>(0)
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>(0.0)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user