1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
object O {
implicit class Foo[A](val value: String) extends AnyVal {
def bippy() = {
@annotation.tailrec def loop(x: A): Unit = loop(x)
()
}
def boppy() = {
@annotation.tailrec def loop(x: value.type): Unit = loop(x)
()
}
def beppy[C](c: => C) = {
() => c
@annotation.tailrec def loop(x: value.type): Unit = loop(x)
() => c
()
}
}
// uncaught exception during compilation: Types$TypeError("type mismatch;
// found : A(in method bippy$extension)
// required: A(in class Foo)") @ scala.tools.nsc.typechecker.Contexts$Context.issueCommon(Contexts.scala:396)
// error: scala.reflect.internal.Types$TypeError: type mismatch;
// found : A(in method bippy$extension)
// required: A(in class Foo)
}
|