Skip to content

Commit 0b9ad51

Browse files
authored
Merge pull request #11298 from slavapestov/ast-verifier-strictness
AST: Stricter verifier check for TupleExpr
2 parents 11211de + 42a999a commit 0b9ad51

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

lib/AST/ASTVerifier.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,9 +1050,14 @@ class Verifier : public ASTWalker {
10501050
for_each(exprTy->getElements().begin(), exprTy->getElements().end(),
10511051
E->getElements().begin(),
10521052
[this](const TupleTypeElt &field, const Expr *elt) {
1053-
checkTrivialSubtype(field.getType()->getUnlabeledType(Ctx),
1054-
elt->getType()->getUnlabeledType(Ctx),
1055-
"tuple and element");
1053+
if (!field.getType()->isEqual(elt->getType())) {
1054+
Out << "tuple_expr element type mismatch:\n";
1055+
Out << " field: ";
1056+
Out << field.getType() << "\n";
1057+
Out << " element: ";
1058+
Out << elt->getType() << "\n";
1059+
abort();
1060+
}
10561061
});
10571062
// FIXME: Check all the variadic elements.
10581063
verifyCheckedBase(E);

0 commit comments

Comments
 (0)