Skip to content

Conversation

tshortli
Copy link
Contributor

@tshortli tshortli commented Sep 3, 2025

The logic that computes whether a decl is unavailable at runtime was allowing @available attributes for specific availability domains override @available(*, unavailable). Universally unavailable decls are always unavailable, regardless of their other @available attributes.

In anticipation of needing to compute runtime unavailability to determine
whether declarations should be printed in swiftinterfaces, factor out the code
that computes runtime unavailability into a shared utility based on
`DeclAvailabilityConstraints`.

NFC.
@tshortli tshortli requested a review from jckarter as a code owner September 3, 2025 06:19
@tshortli
Copy link
Contributor Author

tshortli commented Sep 3, 2025

@swift-ci please test

@tshortli tshortli enabled auto-merge September 3, 2025 06:19
The logic that computes whether a decl is unavailable at runtime was allowing
`@available` attributes for specific availability domains override
`@available(*, unavailable)`. Universally unavailable decls are always
unavailable, regardless of their other `@available` attributes.
@tshortli tshortli force-pushed the universally-unavailable-at-runtime branch from 521a3bb to e390cce Compare September 3, 2025 14:05
@tshortli
Copy link
Contributor Author

tshortli commented Sep 3, 2025

@swift-ci please smoke test

@tshortli tshortli merged commit a4da07e into swiftlang:main Sep 3, 2025
3 checks passed
@tshortli tshortli deleted the universally-unavailable-at-runtime branch September 3, 2025 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant