aboutsummaryrefslogblamecommitdiff
path: root/tests/pos/hygiene.scala
blob: 9bbf73c0f9e028215117ac8e53c78a0029db6cac (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                





                          
                             

                                                                        

            
           






                        
// Illustrates a use case where we need hygiene.

object hygiene {

  class D[T]

  case class C[T](x: D[T])
// without hygiene, this gave
// 7: error: wrong number of type arguments for hygiene.C.D, should be 0
// 7: error: constructor C in class C does not take type parameters

  object C {
    class C
  }

  val c = C.apply(new D)

  c.x

}