@@ -1416,7 +1416,7 @@ class Verifier : public ASTWalker {
1416
1416
abort ();
1417
1417
}
1418
1418
1419
- checkTrivialSubtype (srcTy, destTy, " MetatypeConversionExpr" );
1419
+ checkTrivialSubtype (E, srcTy, destTy, " MetatypeConversionExpr" );
1420
1420
verifyCheckedBase (E);
1421
1421
}
1422
1422
@@ -1641,7 +1641,7 @@ class Verifier : public ASTWalker {
1641
1641
abort ();
1642
1642
}
1643
1643
1644
- checkTrivialSubtype (srcTy, destTy, " DerivedToBaseExpr" );
1644
+ checkTrivialSubtype (E, srcTy, destTy, " DerivedToBaseExpr" );
1645
1645
verifyCheckedBase (E);
1646
1646
}
1647
1647
@@ -3590,12 +3590,14 @@ class Verifier : public ASTWalker {
3590
3590
abort ();
3591
3591
}
3592
3592
3593
- void checkTrivialSubtype (Type srcTy, Type destTy, const char *what) {
3593
+ void checkTrivialSubtype (Expr *E, Type srcTy, Type destTy,
3594
+ const char *what) {
3594
3595
if (srcTy->isEqual (destTy)) return ;
3595
3596
3596
3597
if (auto srcMetatype = srcTy->getAs <AnyMetatypeType>()) {
3597
3598
if (auto destMetatype = destTy->getAs <AnyMetatypeType>()) {
3598
- return checkTrivialSubtype (srcMetatype->getInstanceType (),
3599
+ return checkTrivialSubtype (E,
3600
+ srcMetatype->getInstanceType (),
3599
3601
destMetatype->getInstanceType (),
3600
3602
what);
3601
3603
}
@@ -3625,6 +3627,7 @@ class Verifier : public ASTWalker {
3625
3627
Out << " to " ;
3626
3628
destTy.print (Out);
3627
3629
Out << " \n " ;
3630
+ E->dump (Out);
3628
3631
abort ();
3629
3632
}
3630
3633
0 commit comments