Turns out, context parameters really aren't stable yet... Just found this very strange <bug>. It see...
y
Turns out, context parameters really aren't stable yet... Just found this very strange bug. It seems the compiler gets confused at deeply-nested generics and context parameters
Copy code
interface Dsl<F>

context(_: Dsl<F>)
fun <F> dslFun() {}

data object FalseNegative : Dsl<List<List<List<*>>>> {
  fun test() {
    dslFun<Int>() // FalseNegative is somehow picked as the context
  }
}

fun FalseNegative.anotherFalseNegative() {
    dslFun<Int>()
}