Skip to content

Commit 93b94f9

Browse files
committed
RequirementMachine: Relax an invariant in decomposeTermIntoConformanceRuleLeftHandSides()
1 parent e3488ce commit 93b94f9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/AST/RequirementMachine/MinimalConformances.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,11 +266,13 @@ RewriteSystem::decomposeTermIntoConformanceRuleLeftHandSides(
266266

267267
const auto &step = *steps.begin();
268268

269-
#ifndef NDEBUG
270269
const auto &rule = getRule(step.getRuleID());
271270
assert(rule.isAnyConformanceRule());
272-
assert(!rule.isIdentityConformanceRule());
273-
#endif
271+
272+
// The identity conformance ([P].[P] => [P]) decomposes to an empty
273+
// conformance path.
274+
if (rule.isIdentityConformanceRule())
275+
return;
274276

275277
assert(step.Kind == RewriteStep::Rule);
276278
assert(step.EndOffset == 0);

0 commit comments

Comments
 (0)