summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2013-01-08 10:05:55 +0100
committerLukas Rytz <lukas.rytz@epfl.ch>2013-02-03 21:08:33 +0100
commit91c9c420b25072d6ff4123b9bd073028f0a3562a (patch)
tree74da8fc56be73b5b2d40fdeedb56db1fc1506626
parent01eb6f4958b64667dfae6240effa55d44fa0d392 (diff)
downloadscala-91c9c420b25072d6ff4123b9bd073028f0a3562a.tar.gz
scala-91c9c420b25072d6ff4123b9bd073028f0a3562a.tar.bz2
scala-91c9c420b25072d6ff4123b9bd073028f0a3562a.zip
replace symbols correctly when subtyping dependent types
as discussed in [1], this change has no impact on the scala type system, but it can fix subtyping for annotation checkers if the pluggable type system supports annotations that can refer to method parameters. [1] https://groups.google.com/forum/#!topic/scala-internals/kSJLzYkmif0/discussion
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index 3136b227db..55873f6c2f 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -6075,7 +6075,7 @@ trait Types extends api.Types { self: SymbolTable =>
(sameLength(params1, params2) &&
mt1.isImplicit == mt2.isImplicit &&
matchingParams(params1, params2, mt1.isJava, mt2.isJava) &&
- isSubType(res1, res2.substSym(params2, params1), depth))
+ isSubType(res1.substSym(params1, params2), res2, depth))
// TODO: if mt1.params.isEmpty, consider NullaryMethodType?
case _ =>
false