aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/hygiene.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pos/hygiene.scala')
-rw-r--r--tests/pos/hygiene.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/pos/hygiene.scala b/tests/pos/hygiene.scala
new file mode 100644
index 000000000..25f234959
--- /dev/null
+++ b/tests/pos/hygiene.scala
@@ -0,0 +1,28 @@
+// Illustrates a failure with hygiene.
+
+object hygiene {
+
+ class D[T]
+
+ case class C[T](x: D[T])
+// gives
+// 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
+//
+// The second error message is straightforward to fix using a refTypeTree for C in
+// desugar.classDef.classTypeRef, but the first one is much harder.
+
+
+ object C {
+
+ class C
+
+// class D
+
+ }
+
+ val c = C.apply(new D)
+
+ c.x
+
+}