Support looser type checking when constraining profile types #1311
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When constraining an element's type, the previous behavior required the new type to be a formal child of the old type. If the old type is a profile, however, the new type shouldn't have to be a formal subtype; it need only conform to the old type. When this occurs, log a warning but let it proceed.
You can test this using Julia's FSH Online example. On master branch, it will cause an error and not allow the constraint. On this branch it will log a warning but allow the constraint.
But... Oh no! I just tested this w/ IG Publisher and the IG Publisher gives this error:
It seems that maybe the IG Publisher requires formal inheritance even though that might not be strictly necessary. Putting this into DRAFT mode until we resolve this with the IG Publisher team.
Fixes #1289 and CIMPL-1122.