aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/Compiler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-01-19 09:09:23 +0100
committerMartin Odersky <odersky@gmail.com>2015-01-19 09:09:23 +0100
commit5354f88c6ef2dafd5ae876c16c9758155a780783 (patch)
treea21475558d4d8fa532ad50a18311e213a14ab30c /src/dotty/tools/dotc/Compiler.scala
parent9b260d087a4c63c39e404fd6ba7ade286fdfd8e8 (diff)
downloaddotty-5354f88c6ef2dafd5ae876c16c9758155a780783.tar.gz
dotty-5354f88c6ef2dafd5ae876c16c9758155a780783.tar.bz2
dotty-5354f88c6ef2dafd5ae876c16c9758155a780783.zip
Fixed soundness hole in TypeComparer
Two named types with same names and NoPrefix prefixes are not necessarily equal! The fix uncovered an error in tailrec. When run on Decorators.scala, tailrec in its old position at the end of a group produces not -Ycheckable code. Problem was fixed by moving TailRec into its own group.
Diffstat (limited to 'src/dotty/tools/dotc/Compiler.scala')
-rw-r--r--src/dotty/tools/dotc/Compiler.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/Compiler.scala b/src/dotty/tools/dotc/Compiler.scala
index 943b54d7f..c5c1d8713 100644
--- a/src/dotty/tools/dotc/Compiler.scala
+++ b/src/dotty/tools/dotc/Compiler.scala
@@ -45,8 +45,10 @@ class Compiler {
List(new RefChecks,
new ElimRepeated,
new ElimLocals,
- new ExtensionMethods,
- new TailRec),
+ new ExtensionMethods),
+ List(new TailRec), // TailRec needs to be in its own group for now.
+ // Otherwise it produces -Ycheck incorrect code for
+ // file core/Decorators.scala.
List(new PatternMatcher,
new ExplicitOuter,
new Splitter),