File tree 3 files changed +13
-6
lines changed
src/dotty/tools/dotc/transform
3 files changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -787,7 +787,8 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans
787
787
// - Scala's arrays are invariant (so we don't drop type tests unsoundly)
788
788
if (extractorArgTypeTest) mkDefault
789
789
else expectedTp match {
790
- case ThisType (tref) if tref.symbol.flags is Flags .Module => and(mkEqualsTest(ref(tref.symbol)), mkTypeTest) // must use == to support e.g. List() == Nil
790
+ case ThisType (tref) if tref.symbol.flags is Flags .Module =>
791
+ and(mkEqualsTest(ref(tref.symbol.companionModule)), mkTypeTest) // must use == to support e.g. List() == Nil
791
792
case ConstantType (Constant (null )) if isAnyRef => mkEqTest(expTp(Literal (Constant (null ))))
792
793
case ConstantType (const) => mkEqualsTest(expTp(Literal (const)))
793
794
case t: SingletonType => mkEqTest(singleton(expectedTp)) // SI-4577, SI-4897
Original file line number Diff line number Diff line change 189
189
./scala-scala/src/library/scala/collection/immutable/HashMap.scala
190
190
./scala-scala/src/library/scala/collection/immutable/HashSet.scala
191
191
192
- # https://github.com/lampepfl/dotty/issues/939 -> @darkdimius
193
- # ./scala-scala/src/library/scala/collection/immutable/IntMap.scala
192
+
193
+ ./scala-scala/src/library/scala/collection/immutable/IntMap.scala
194
194
./scala-scala/src/library/scala/collection/immutable/ListMap.scala
195
195
./scala-scala/src/library/scala/collection/immutable/ListSet.scala
196
-
197
- # https://github.com/lampepfl/dotty/issues/939 -> @darkdimius
198
- #./scala-scala/src/library/scala/collection/immutable/LongMap.scala
196
+ ./scala-scala/src/library/scala/collection/immutable/LongMap.scala
199
197
200
198
./scala-scala/src/library/scala/collection/immutable/Map.scala
201
199
./scala-scala/src/library/scala/collection/immutable/MapLike.scala
Original file line number Diff line number Diff line change
1
+ object IntMap {
2
+ private case object Nil {
3
+ override def equals (that : Any ) = that match {
4
+ case _ : this .type => true
5
+ case _ => super .equals(that)
6
+ }
7
+ }
8
+ }
You can’t perform that action at this time.
0 commit comments