Skip to content

Commit a4e22b1

Browse files
committed
Comments to explain isSubInfo logic
1 parent f29013c commit a4e22b1

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1992,8 +1992,12 @@ class TypeComparer(@constructorOnly initctx: Context) extends ConstraintHandling
19921992
val isExpr2 = info2.isInstanceOf[ExprType]
19931993
val info1 = m.info match
19941994
case info1: ValueType if isExpr2 || m.symbol.is(Mutable) =>
1995-
ExprType(info1)
1995+
// OK: { val x: T } <: { def x: T }
1996+
// OK: { var x: T } <: { def x: T }
1997+
// NO: { var x: T } <: { val x: T }
1998+
ExprType(info1)
19961999
case info1 @ MethodType(Nil) if isExpr2 && m.symbol.is(JavaDefined) =>
2000+
// OK{ { def x(): T } <: { def x: T} // if x is Java defined
19972001
ExprType(info1.resType)
19982002
case info1 => info1
19992003
isSubInfo(info1, info2, m.symbol.info.orElse(info1))

0 commit comments

Comments
 (0)