Closed krishnangovindraj closed 5 months ago
Do not edit the content of this comment. The PR reviewer should simply update this comment by ticking each review item below, as they get completed.
Trivial Change
Code
Architecture
The bug this fixes would be caught by type-inference at commit time.
Further, this makes the validation for the same bug caused byset_supertype
more complicated if we want to be consistent with when we flag unsatisfiable rules.
I forget type-inference automatically downcasts to subtypes based on their relates/owns/plays constraints. This, role types cannot always be uniquely resolved.
Usage and product changes
Fixes how rules resolve roles, fixing validation that types referenced in rules cannot be deleted.
Implementation
inheritor:role
todeclarer:role
) when computing which types occur in the rule.