diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-12-05 10:18:53 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-01-26 15:39:05 +0100 |
commit | 61f29368fecf620585c8bb26bb83c746cbbe6571 (patch) | |
tree | c29ddd4f8b17551960f17ca97465bae1ade6e765 /test/files | |
parent | f01af109ae975461fe5a3120a69814521968fcce (diff) | |
download | scala-61f29368fecf620585c8bb26bb83c746cbbe6571.tar.gz scala-61f29368fecf620585c8bb26bb83c746cbbe6571.tar.bz2 scala-61f29368fecf620585c8bb26bb83c746cbbe6571.zip |
SI-4859 Don't rewrite CC().CC2() to new CC2
Where CC and CC2 are case classes. Attempting to do so leads to
a "no legal prefix" error.
Now, we restrict this optimization (living in RefChecks ?!) to
case class applies with a "safe to inline" qualifier.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/pos/t4859.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/pos/t4859.scala b/test/files/pos/t4859.scala new file mode 100644 index 0000000000..284a39b7ab --- /dev/null +++ b/test/files/pos/t4859.scala @@ -0,0 +1,17 @@ +object O { + // error: C is not a legal prefix for a constructor + C().CC() + // but this works. + D().DD() +} + +case class C() { + case class CC() +} + +case class D() { + class DD() + object DD { + def apply() = new DD() + } +} |