Skip to content

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

Closed
aturon opened this issue Feb 13, 2015 · 6 comments · Fixed by #22319
Closed

Tracking issue for Improve the Send trait (RFC 458) #22251

aturon opened this issue Feb 13, 2015 · 6 comments · Fixed by #22319
Assignees
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

@aturon
Copy link
Member

aturon commented Feb 13, 2015

rust-lang/rfcs#458

@aturon aturon added A-type-system Area: Type system A-trait-system Area: Trait system B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. A-threads labels Feb 13, 2015
@aturon
Copy link
Member Author

aturon commented Feb 13, 2015

cc @pythonesque @nikomatsakis

@aturon
Copy link
Member Author

aturon commented Feb 13, 2015

Nominating.

@aturon
Copy link
Member Author

aturon commented Feb 13, 2015

cc @huonw

@huonw huonw self-assigned this Feb 13, 2015
@pythonesque
Copy link
Contributor

Yay!

@steveklabnik
Copy link
Member

🎊

@carllerche
Copy link
Member

💞 (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
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.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants