diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2013-01-08 10:05:55 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2013-02-03 21:08:33 +0100 |
commit | 91c9c420b25072d6ff4123b9bd073028f0a3562a (patch) | |
tree | 74da8fc56be73b5b2d40fdeedb56db1fc1506626 /src | |
parent | 01eb6f4958b64667dfae6240effa55d44fa0d392 (diff) | |
download | scala-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
Diffstat (limited to 'src')
-rw-r--r-- | src/reflect/scala/reflect/internal/Types.scala | 2 |
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 |