Kefas
07/30/2021, 5:17 AMfun main() {
val a: () -> Unit = { }
val b: () -> Unit = { }
val c = generateLambda()
val d = generateLambda()
println(a == b) // false
println(c == d) // true
}
fun generateLambda(): () -> Unit {
return { }
}
Zach Klippenstein (he/him) [MOD]
07/30/2021, 5:40 AMgenerateLambda
. However, because those lambdas don’t capture any variables/properties, it only generates a single instance of each one, which is why calling generateLambda
multiple times returns the same object. Just a guess, I don’t remember exactly how the latest kotlin compilers actually do lambdas.Kefas
07/30/2021, 5:58 AMsmit01
07/30/2021, 6:31 AMZach Klippenstein (he/him) [MOD]
07/30/2021, 6:59 AMYoussef Shoaib [MOD]
07/30/2021, 5:43 PMgenerateLambda
returns a singletonYoussef Shoaib [MOD]
07/30/2021, 5:47 PM