Daniel Pitts
07/10/2024, 5:58 PMDaniel Pitts
07/10/2024, 5:59 PMpackage com.stochastictinkr
class Context(val hello: String = "Hello")
object Receiver {
val world = "World!"
}
inline fun execute(
lambda: context(Context) Receiver.() -> Unit,
) {
Context().also {
lambda(it, Receiver)
}
}
fun main() {
execute { println("$hello $world") }
}
results in:
Exception in thread "main" java.lang.ClassCastException: class com.stochastictinkr.Receiver cannot be cast to class com.stochastictinkr.Context (com.stochastictinkr.Receiver and com.stochastictinkr.Context are in unnamed module of loader 'app')
at com.stochastictinkr.BrokenKt.main(Broken.kt:21)
at com.stochastictinkr.BrokenKt.main(Broken.kt)
Daniel Pitts
07/10/2024, 6:04 PM