-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Tracking issue for Improve the Send trait (RFC 458) #22251
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
Labels
A-trait-system
Area: Trait system
A-type-system
Area: Type system
B-RFC-approved
Blocker: Approved by a merged RFC but not yet implemented.
Comments
Nominating. |
cc @huonw |
Yay! |
🎊 |
💞 (also cc me 😄) |
huonw
added a commit
to huonw/rust
that referenced
this issue
Feb 18, 2015
Previously Send was defined as `trait Send: 'static {}`. As detailed in rust-lang/rfcs#458, the `'static` bound is not actually necessary for safety, we can use lifetimes to enforce that more flexibly. `unsafe` code that was previously relying on `Send` to insert a `'static` bound now may allow incorrect patterns, and so should be audited (a quick way to ensure safety immediately and postpone the audit is to add an explicit `'static` bound to any uses of the `Send` type). cc rust-lang#22251.
huonw
added a commit
to huonw/rust
that referenced
this issue
Feb 18, 2015
In most places this preserves the current API by adding an explicit `'static` bound. Notably absent are some impls like `unsafe impl<T: Send> Send for Foo<T>` and the `std::thread` module. It is likely that it will be possible to remove these after auditing the code to ensure restricted lifetimes are safe. More progress on rust-lang#22251.
huonw
added a commit
to huonw/rust
that referenced
this issue
Feb 18, 2015
Per RFC 458. Closes rust-lang#22251.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-trait-system
Area: Trait system
A-type-system
Area: Type system
B-RFC-approved
Blocker: Approved by a merged RFC but not yet implemented.
rust-lang/rfcs#458
The text was updated successfully, but these errors were encountered: