-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[6.2][SE-0461] Replace @execution(...)
with @concurrent
and nonisolated(nonsending)
#80807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci please test |
@swift-ci please clean test |
swiftlang/swift-syntax#3055 |
swiftlang/swift-syntax#3055 |
29a4d14
to
b9444b6
Compare
swiftlang/swift-syntax#3055 |
swiftlang/swift-syntax#3055 |
…ute` or `StringRef` It has been decided to split the attribute into `@concurrent` and `nonisolated(nonsending`. Adjusting diagnostics to accept the attribute makes the transition easier.
…(concurrent)` spelling
…execution(caller)`
b9444b6
to
19f8464
Compare
swiftlang/swift-syntax#3055 |
swiftlang/swift-syntax#3055 |
swiftlang/swift-syntax#3055 |
Complete the transition from `@execution` to `@concurrent` and `nonisolated(nonsending)`
SE-0461 has been accepted and `@concurrent` and `nonisolated(nonsending)` can be make generally available now.
Accept it only if it's spelled `nonisolated(nonsending)` and nothing else to minimize any possible source compatibility impact.
…ure to match `@execution` attribute split
…ed(nonsending)` in swift interface files
(cherry picked from commit 4b1695b)
19f8464
to
c8c7eef
Compare
swiftlang/swift-syntax#3055 |
Cherry-pick of #80668
Explanation:
Adjust implementation for SE-0461 to match final/accepted attribute forms.
@concurrent
declaration and type attributes to replace@execution(concurrent)
nonsending
modifier tononisolated
declaration modifiernonisolated(nonsending)
in type and expression contexts (modeled viaCallerIsolatedTypeRepr
)@execution(caller)
withnonisolated(nonsending)
modifier@execution
attribute throughout the codebaseExecutionAttribute
experimental flagMain Branch PR: [SE-0461] Replace
@execution(...)
with@concurrent
andnonisolated(nonsending)
#80668Risk: Low (replaces existing
@execution
attribute, which was guarded by an experimental feature flag, with two new attributes. The only risk here is related tononisolated
keyword expansion to acceptnonsending
modifier, this could cause a source break if there exists a function which such a name an an argument with namenonsending
, which seems like a very low probability).Reviewed By: @hamishknight @AnthonyLatsis @tshortli
Testing: Added new tests to the test suite.