swift
f8838c08 - RequirementMachine: Try harder to ensure completion only introduces property-like rules

Commit
3 years ago
RequirementMachine: Try harder to ensure completion only introduces property-like rules When computing an overlap between a property-like rule (T.[p] => T for some property symbol [p]) and another rule, try harder to ensure that the new rule is a property-like rule. In a conformance-valid rewrite system, all rules that are not LHS- or RHS- simplified will eventually either be property-like or same-type rules, but we need to maintain this invariant for that rules that become simplified as well, to ensure that rewrite loops have a certain structure that is important for the minimal conformances algorithm. I don't quite understand why to be honest, but I'm close to figuring it out. Fixes rdar://problem/91232987.
Author
Committer
Parents
Loading