Commits

Devin Coughlin committed cd79e0ba4d9
Sema: Suppress explicit unavailability diagnostics in unavailable synthesized functions. Suppress diagnostics about references to unavailable declarations when all of the following conditions are met: (1) the reference is in synthesized code; (2) the reference is in a synthesized method; and (3) the reference is inside a declaration marked as unavailable. This, combined with prior work to infer availability annotations for synthesized methods should eliminate the spurious diagnostics we have seen (e.g., rdar://problem/20154926) for references to unavailable types without the hammer of suppressing all references to unavailable declarations in synthesized functions. The right thing to do here is to not synthesize the bodies of these functions in the first place. I've filed <rdar://problem/20491640> to track this. We will continue to emit an error for references to unavailable declarations in non-implicit code, even if the reference is inside a declaration marked unavailable. Swift SVN r27197