Sema: Targeted fix for bad interaction between resilience checks and -enable-testing [4.0] #10179
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.
Description: New checks introduced in Swift 4.0 mode are intended to prevent public default argument expressions from referencing internal and private symbols. The diagnostic code used the wrong frontend APIs however, and as a result with -enable-testing we had the totally unexpected behavior that internal default arguments could not reference private symbols.
Scope of the issue: Affects users migrating code from Swift 3.2 to 4.0.
Origination: The checks are new to Swift 4.0.
Risk: Low.
Tested: Existing tests now all run with and without -enable-testing to ensure the right APIs are used.
Reviewed by: @jrose-apple
Radar: rdar://problem/32592973