The unguarded availability warnings in the protocol requirements of a protocol/class/category declaration can be avoided. This matches the behaviour of Swift's diagnostics.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
| lib/Sema/SemaExpr.cpp | ||
|---|---|---|
| 142 | Why are we doing this just for partials? Doesn't this also apply to unavailable/deprecated? | |
| lib/Sema/SemaExpr.cpp | ||
|---|---|---|
| 142 | We warned about the unavailable/deprecated protocols previously, so we should probably keep these warnings. The unguarded availability one is new, so we can drop it. | |
| lib/Sema/SemaExpr.cpp | ||
|---|---|---|
| 142 | But this is strictly less diagnostics, dropping diagnostics for unavail/depr here won't break anything outside of clang tests. So if they don't make sense to emit, then there isn't any reason to keep them around. | |
| lib/Sema/SemaExpr.cpp | ||
|---|---|---|
| 142 | Swift emits warnings about deprecated/unavailable protocols even in the list of protocol requirements. I'd prefer it if we had the same behaviour. | |
AvoidPartialAvailabilityChecks?