[5.7] RequirementMachine: Disable redundant requirement diagnostics by default #58814
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.
Cherry-pick of #58780.
This PR fixes an issue where we failed to muffle redundancy diagnostics involving inferred requirements (rdar://problem/92092635, rdar://problem/92122203).
But also, it disables redundant requirement diagnostics unless the user passes in the -warn-redundant-requirements frontend flag. I updated existing tests that expect to see these diagnostics to pass in this flag explicitly.
Our reasoning here is that these diagnostics are rarely useful, and furthermore, they do not fit the existing philosophy behind warnings. They do not actually indicate a potential problem with the code. We don't diagnose redundant type annotations elsewhere, for instance. Sometimes, users actually want to re-state redundant requirements for readability, because the derivation path for a redundant requirement might be far from obvious, if it involves multiple same-type requirements for example.