manueldidonna
06/25/2020, 2:36 PMdata class Item(val id: Int)
fun randomItem(block: (Int) -> Item) {}
// this
List(100) { randomItem(::Item) }
// vs
val constructor = ::Item
List(100) { randomItem(constructor) }
Zach Klippenstein (he/him) [MOD]
06/25/2020, 2:37 PMmanueldidonna
06/25/2020, 2:54 PM::Item
is "GETSTATIC $1.INSTANCE ". From what I understand "GETSTATIC" instruction is used to get a static field value of a class, so I think it doesn't allocate a new object every timeZach Klippenstein (he/him) [MOD]
06/25/2020, 3:02 PM::Item
reference generates its own class, but those classes are singletons with static instance fields.manueldidonna
06/25/2020, 4:28 PM