Skip to content

Commit bf5943f

Browse files
committed
Added some checks for KeyPathPatternComponent::Kind::TupleElement in SILVerifier::verifyKeyPathComponent
1 parent 8773f21 commit bf5943f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/SIL/SILVerifier.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,14 @@ void verifyKeyPathComponent(SILModule &M,
385385
break;
386386
}
387387
case KeyPathPatternComponent::Kind::TupleElement: {
388-
//llvm_unreachable("[technicated]");
388+
require(loweredBaseTy.is<TupleType>(),
389+
"invalid baseTy, should have been a TupleType");
390+
391+
auto tupleTy = loweredBaseTy.getAs<TupleType>();
392+
393+
require(component.getTupleIndex() < tupleTy->getNumElements(),
394+
"invalid element index, greater than # of tuple elements");
395+
389396
break;
390397
}
391398
}

0 commit comments

Comments
 (0)