[FIR] Resolve rhs of += in dependent context
This commit is contained in:
-1
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
class MyList<T>
|
||||
|
||||
operator fun <T> MyList<T>.plusAssign(element: T) {}
|
||||
|
||||
+1
-1
@@ -5,5 +5,5 @@ fun <T> f(): R<T> = R<T>()
|
||||
operator fun Int.plusAssign(y: R<Int>) {}
|
||||
|
||||
fun box() {
|
||||
<!INAPPLICABLE_CANDIDATE!>1 += f()<!>
|
||||
1 += f()
|
||||
}
|
||||
@@ -29,7 +29,7 @@ class Test()
|
||||
fun test()
|
||||
{
|
||||
val control = Control()
|
||||
control.MouseMoved += { <!UNRESOLVED_REFERENCE!>it<!>.<!UNRESOLVED_REFERENCE!>X<!> } // here
|
||||
control.MouseMoved += { it.X } // here
|
||||
control.MouseMoved.plusAssign( { it.X } ) // ok
|
||||
}
|
||||
}
|
||||
Vendored
+2
-2
@@ -37,6 +37,6 @@ class B {
|
||||
}
|
||||
|
||||
fun foo3(x: B) = {
|
||||
<!VARIABLE_EXPECTED!>x<!> += { "" }
|
||||
<!VARIABLE_EXPECTED!>x<!> += id { "" }
|
||||
x += { "" }
|
||||
x += id { "" }
|
||||
}
|
||||
|
||||
Vendored
+3
-3
@@ -13,8 +13,8 @@ fun <T> id(x: T) = x
|
||||
|
||||
fun main() {
|
||||
var newValue = A()
|
||||
<!INAPPLICABLE_CANDIDATE!>newValue += id { total -> A() }<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>newValue += id(fun(total) = A())<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>newValue += id(fun(total): A { return A() })<!>
|
||||
<!ASSIGN_OPERATOR_AMBIGUITY!>newValue += id { total -> A() }<!>
|
||||
<!ASSIGN_OPERATOR_AMBIGUITY!>newValue += id(fun(total) = A())<!>
|
||||
<!ASSIGN_OPERATOR_AMBIGUITY!>newValue += id(fun(total): A { return A() })<!>
|
||||
<!ASSIGN_OPERATOR_AMBIGUITY!>newValue += id(::foo)<!>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user