Skip to content
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

Make isolated deinit clear task locals & remove experimental flag #76538

Open
ktoso opened this issue Sep 18, 2024 · 0 comments
Open

Make isolated deinit clear task locals & remove experimental flag #76538

ktoso opened this issue Sep 18, 2024 · 0 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. concurrency Feature: umbrella label for concurrency language features

Comments

@ktoso
Copy link
Contributor

ktoso commented Sep 18, 2024

Description

The SE acceptance says

Lastly, on the topic of task locals, the LSG agreed with reviewers who expressed that the approach of 'make no promises' was likely to result in users inadvertently relying on implementation details which would turn out to be difficult to change later, and so decided to adopt the consistent rule that task locals will always be cleared when entering an isolated deinit.

https://forums.swift.org/t/accepted-with-modifications-se-0371-isolated-synchronous-deinit/74042

but we've not implemented this yet.

When we do this, we can lift the experimental flag from the isolated deinits

Reproduction

we don't do anything today, so the outer scopes task locals may be observed.

Expected behavior

task locals should be "cleared"

Environment

main

Additional information

No response

@ktoso ktoso added bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels concurrency Feature: umbrella label for concurrency language features and removed triage needed This issue needs more specific labels labels Sep 18, 2024
@ktoso ktoso changed the title Make isolated deinit clear task locals Make isolated deinit clear task locals & remove experimental flag Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. concurrency Feature: umbrella label for concurrency language features
Projects
None yet
Development

No branches or pull requests

1 participant