diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-01-30 17:06:34 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-01-30 17:06:34 +0000 |
commit | 3078e1709307dc07fec5265e7a1afc108bacda00 (patch) | |
tree | 0076d5450885aafa38f7dec9deb47837aaf76aa1 /src/compiler/scala/tools/nsc/dependencies/Changes.scala | |
parent | c73ab4525e402cbbc0fd745a34c453520c87564c (diff) | |
download | scala-3078e1709307dc07fec5265e7a1afc108bacda00.tar.gz scala-3078e1709307dc07fec5265e7a1afc108bacda00.tar.bz2 scala-3078e1709307dc07fec5265e7a1afc108bacda00.zip |
Better test for checking existential types, whe...
Better test for checking existential types, where symbols not
necessarily have the same name. Added test for that. The problem
manifested itself in Globals.scala for variable classpath causing
execissive compilation without any reason. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/dependencies/Changes.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/dependencies/Changes.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/dependencies/Changes.scala b/src/compiler/scala/tools/nsc/dependencies/Changes.scala index 5d261c67a2..c5669d6214 100644 --- a/src/compiler/scala/tools/nsc/dependencies/Changes.scala +++ b/src/compiler/scala/tools/nsc/dependencies/Changes.scala @@ -75,7 +75,9 @@ abstract class Changes { case (ConstantType(value1), ConstantType(value2)) => value1 == value2 case (TypeRef(pre1, sym1, args1), TypeRef(pre2, sym2, args2)) => - sameType(pre1, pre2) && sameSymbol(sym1, sym2) && + sameType(pre1, pre2) && + (sameSymbol(sym1, sym2) || + ( sym1.isType && sym2.isType && sameType(sym1.info, sym2.info))) && (sym1.variance == sym2.variance) && ((tp1.isHigherKinded && tp2.isHigherKinded && tp1.normalize =:= tp2.normalize) || sameTypes(args1, args2)) |