aboutsummaryrefslogtreecommitdiff
path: root/tests/neg
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-06-12 12:46:57 +0200
committerMartin Odersky <odersky@gmail.com>2014-06-12 12:55:11 +0200
commit51563aee5478f90a0f86c29385f74d020b8995dd (patch)
tree05d317678ee3eda3c8d15af334e5a7e221722644 /tests/neg
parentc2175ec910165308e81c48bd8ca8910c50862be4 (diff)
downloaddotty-51563aee5478f90a0f86c29385f74d020b8995dd.tar.gz
dotty-51563aee5478f90a0f86c29385f74d020b8995dd.tar.bz2
dotty-51563aee5478f90a0f86c29385f74d020b8995dd.zip
Change definition of isLegalPrefix so that it allows projecting on an abstract type.
This is needed to make the encoding og higher-kinded types work. E.g. Rep[Int] would be represented as Rep { type Arg$0 = Int } # Apply where Apply is an abstract member of the base class Lambfa$I of Rep.
Diffstat (limited to 'tests/neg')
-rw-r--r--tests/neg/projections.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/neg/projections.scala b/tests/neg/projections.scala
new file mode 100644
index 000000000..5d80e1151
--- /dev/null
+++ b/tests/neg/projections.scala
@@ -0,0 +1,7 @@
+class projections {
+
+ class Lambda { type Arg; type Apply }
+
+ var x: (Lambda { type Apply = Int }) # Apply = _ // error: illegal prefix
+
+}