We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cfd13f7 commit 099e5a6Copy full SHA for 099e5a6
src/dotty/tools/dotc/transform/TreeChecker.scala
@@ -48,13 +48,19 @@ class TreeChecker {
48
def sameType(tp1: Type, tp2: Type) =
49
(tp1 eq tp2) || // accept NoType / NoType
50
(tp1 =:= tp2)
51
- def divergenceMsg =
+ def divergenceMsg = {
52
+ def explanation(tp1: Type, tp2: Type) =
53
+ if (tp1 <:< tp2) ""
54
+ else "\n why different:\n" + core.TypeComparer.explained((tp1 <:< tp2)(_))
55
s"""Types differ
56
|Original type : ${tree.typeOpt.show}
57
|After checking: ${tree1.tpe.show}
58
|Original tree : ${tree.show}
59
|After checking: ${tree1.show}
- """.stripMargin
60
+ """.stripMargin +
61
+ explanation(tree1.tpe, tree.typeOpt) +
62
+ explanation(tree.typeOpt, tree1.tpe)
63
+ }
64
assert(sameType(tree1.tpe, tree.typeOpt), divergenceMsg)
65
tree1
66
}
0 commit comments