summaryrefslogtreecommitdiff
path: root/test/files/jvm/t6941/test.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-11-26 14:26:33 +1000
committerJason Zaugg <jzaugg@gmail.com>2016-02-01 13:23:20 +1000
commit6f8c05722ba4452279e353df2d81b58f260277d2 (patch)
tree2388344a8a22a4a059977e0d021bbb589017c254 /test/files/jvm/t6941/test.scala
parent907fe03e57b3cac4d0a67663edcd2b3b040e6ff8 (diff)
downloadscala-6f8c05722ba4452279e353df2d81b58f260277d2.tar.gz
scala-6f8c05722ba4452279e353df2d81b58f260277d2.tar.bz2
scala-6f8c05722ba4452279e353df2d81b58f260277d2.zip
SI-9542 Unify different reprs. of module type refs
The new unit test shows failures in transitivity of subtyping and type equivalence, which boil down the the inconsistent handling of the semantically equivalent: ThisType(pre, ModuleClass) ModuleTypeRef(pre, ModuleClass) SingleType(pre, Module) This commit: - adds a case to `normalizePlus` to unwrap a `ThisType` to a `ModuleTypeRef` - Use `normalizePlus` more widely during subtype comparison - refactor `fourthTry` (part of `isSubType`) to remove code that becomes obviated by the use of `normalizePlus`. This fixes the regression in the extension methods phase which was triggered by https://github.com/scala/scala/pull/4749. We can also fix that regression by tweaking the extension methods phase itself to emit the `ThisType` representation of the owner of the value class, as before. I plan to demonstrate the two approaches to fixing the regression on separate branches, and the propose that the merged result of these two is useds.
Diffstat (limited to 'test/files/jvm/t6941/test.scala')
0 files changed, 0 insertions, 0 deletions