Skip to content

Commit 1c34541

Browse files
committed
Make Matchable a trait
1 parent 59d9d83 commit 1c34541

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

compiler/src/dotty/tools/dotc/core/Definitions.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,10 @@ class Definitions {
269269
*/
270270
@tu lazy val AnyClass: ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.Any, Abstract, Nil), ensureCtor = false)
271271
def AnyType: TypeRef = AnyClass.typeRef
272-
@tu lazy val MatchableClass: ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.Matchable, Abstract, AnyType :: Nil), ensureCtor = false)
272+
@tu lazy val MatchableClass: ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.Matchable, Trait, AnyType :: Nil), ensureCtor = false)
273273
def MatchableType: TypeRef = MatchableClass.typeRef
274274
@tu lazy val AnyValClass: ClassSymbol =
275-
val res = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.AnyVal, Abstract, List(MatchableType)))
275+
val res = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.AnyVal, Abstract, List(AnyType, MatchableType)))
276276
// Mark companion as absent, so that class does not get re-completed
277277
val companion = ScalaPackageVal.info.decl(nme.AnyVal).symbol
278278
companion.moduleClass.markAbsent()
@@ -312,7 +312,7 @@ class Definitions {
312312
@tu lazy val ObjectClass: ClassSymbol = {
313313
val cls = requiredClass("java.lang.Object")
314314
assert(!cls.isCompleted, "race for completing java.lang.Object")
315-
cls.info = ClassInfo(cls.owner.thisType, cls, MatchableType :: Nil, newScope)
315+
cls.info = ClassInfo(cls.owner.thisType, cls, List(AnyType, MatchableType), newScope)
316316
cls.setFlag(NoInits | JavaDefined)
317317

318318
// The companion object doesn't really exist, so it needs to be marked as

0 commit comments

Comments
 (0)