swift
ad89fe51 - GSB: Diagnose redundant requirements on the rebuilt signature

Commit
4 years ago
GSB: Diagnose redundant requirements on the rebuilt signature We rebuild a generic signature after dropping conformance requirements made redundant by a superclass or concrete type requirement. When rebuilding the signature, preserve the source locations of the original requirements, and only perform diagnostics on the rebuilt signature. This fixes an issue where we would emit a redundant requirement warning even though the requirement in question was not actually redundant. This also avoids some unnecessary work. Most of the code in finalize() does not need to be run twice, once before and once after rebuilding the signature. Now we only run it after rebuilding the signature. Note that this regresses diagnostics in one narrow case where we would previously diagnose a conflicting concrete type requirement. This will be fixed once concrete type diagnostics are moved over to use the new ExplicitRequirement infrastructure, just like all other kinds already do. Fixes rdar://problem/77462797.
Author
Committer
Parents
Loading