Specify lambda signature: handle special parameters correctly
So #KT-17372 Fixed
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
class Declaration {
|
||||
fun lambdaType(p: Int, f: (Int) -> Int) = f(p)
|
||||
}
|
||||
|
||||
fun call(declaration: Declaration) {
|
||||
declaration.lambdaType(10) {<caret> _ -> 11 }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
class Declaration {
|
||||
fun lambdaType(p: Int, f: (Int) -> Int) = f(p)
|
||||
}
|
||||
|
||||
fun call(declaration: Declaration) {
|
||||
declaration.lambdaType(10) { _: Int -> 11 }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
data class Declaration(val x: Int, val y: Int) {
|
||||
fun lambdaType(p: Declaration, f: (Declaration) -> Int) = f(p)
|
||||
}
|
||||
|
||||
fun call(declaration: Declaration) {
|
||||
declaration.lambdaType(declaration) {<caret> (x, y) -> 11 }
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
data class Declaration(val x: Int, val y: Int) {
|
||||
fun lambdaType(p: Declaration, f: (Declaration) -> Int) = f(p)
|
||||
}
|
||||
|
||||
fun call(declaration: Declaration) {
|
||||
declaration.lambdaType(declaration) { (x, y): Declaration -> 11 }
|
||||
}
|
||||
Reference in New Issue
Block a user