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
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Sema/SemaExpr.cpp | ||
---|---|---|
142 ↗ | (On Diff #105442) | Why are we doing this just for partials? Doesn't this also apply to unavailable/deprecated? |
lib/Sema/SemaExpr.cpp | ||
---|---|---|
142 ↗ | (On Diff #105442) | 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 ↗ | (On Diff #105442) | 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 ↗ | (On Diff #105442) | Swift emits warnings about deprecated/unavailable protocols even in the list of protocol requirements. I'd prefer it if we had the same behaviour. |