diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-19 09:09:23 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-19 09:09:23 +0100 |
commit | 5354f88c6ef2dafd5ae876c16c9758155a780783 (patch) | |
tree | a21475558d4d8fa532ad50a18311e213a14ab30c /src/dotty/tools/dotc/Compiler.scala | |
parent | 9b260d087a4c63c39e404fd6ba7ade286fdfd8e8 (diff) | |
download | dotty-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.scala | 6 |
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), |