summaryrefslogblamecommitdiff
path: root/test/files/pos/t6891.scala
blob: bed2d0d777708d6e9f47f9d4aadcb74ee5186311 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                 






                                                                 







                                                                                                                
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)
}