Skip to content

Commit 86a4c9f

Browse files
committed
RequirementMachine: Stricter invariants in RewriteSystem::verifyRewriteRules()
1 parent 39d486a commit 86a4c9f

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

lib/AST/RequirementMachine/RewriteSystem.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -659,10 +659,7 @@ void RewriteSystem::verifyRewriteRules(ValidityPolicy policy) const {
659659
ASSERT_RULE(symbol.getKind() != Symbol::Kind::GenericParam);
660660
}
661661

662-
// Completion can produce rules like [P:T].[Q].[R] => [P:T].[Q]
663-
// which are immediately simplified away.
664-
if (!rule.isLHSSimplified() &&
665-
index != 0 && index != lhs.size() - 1) {
662+
if (index != 0 && index != lhs.size() - 1) {
666663
ASSERT_RULE(symbol.getKind() != Symbol::Kind::Protocol);
667664
}
668665
}
@@ -693,9 +690,10 @@ void RewriteSystem::verifyRewriteRules(ValidityPolicy policy) const {
693690
ASSERT_RULE(symbol.getKind() != Symbol::Kind::GenericParam);
694691
}
695692

696-
// Completion can produce rules like [P:T].[Q].[R] => [P:T].[Q]
693+
// Completion can produce rules like [P:T].[Q:R] => [P:T].[Q]
697694
// which are immediately simplified away.
698-
if (!rule.isRHSSimplified() && index != 0) {
695+
if (!rule.isRHSSimplified() &&
696+
index != 0) {
699697
ASSERT_RULE(symbol.getKind() != Symbol::Kind::Protocol);
700698
}
701699
}

0 commit comments

Comments
 (0)