diff --git a/compiler/src/dotty/tools/dotc/core/TypeComparer.scala b/compiler/src/dotty/tools/dotc/core/TypeComparer.scala index fd954c688dbd..f8c0cdac91b6 100644 --- a/compiler/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/compiler/src/dotty/tools/dotc/core/TypeComparer.scala @@ -260,6 +260,11 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling { secondTry(tp1, tp2) } compareErasedValueType + case ConstantType(v2) => + tp1 match { + case ConstantType(v1) => v1.value == v2.value + case _ => secondTry(tp1, tp2) + } case ErrorType => true case _ => diff --git a/tests/repl/def.check b/tests/repl/def.check index 498ecb282fad..9d653835490a 100644 --- a/tests/repl/def.check +++ b/tests/repl/def.check @@ -6,4 +6,8 @@ scala> def baz() = 2 def baz(): Int scala> def qux(): Int = 2 def qux(): Int +scala> def id(x: 4): 4 = x +def id(x: 4.type): Int(4) +scala> id(4) +val res0: Int = 4 scala> :quit