Closed
Description
Their single purpose is improving diagnostics.
When those macros expand they always produce an error saying that unsafe impl Send for Foo {}
should be written explicitly rather than derived.
So, when #61877 is implemented you'll be able to write use Send
or use std::Send
without an error, but that's not an intent.
The macros should be removed, and derive(Send)
should result in a resolution error, and the suggestion to write unsafe impl Send for Foo {}
explicitly should be put on that resolution error.
Activity
Send
andSync
#62078Rollup merge of rust-lang#62078 - petrochenkov:nosendync2, r=varkor
eddyb commentedon Jun 24, 2019
I would've half-expected e.g.
use core::Clone;
to never work, and instead the builtin macro be exposed fromcore::clone::Clone
andcore::prelude::v1::Clone
(and both overlap with theClone
trait).But it sounds like that's not going to be the case?
petrochenkov commentedon Jun 24, 2019
@eddyb
I've answered in #62086 (comment).
Rollup merge of rust-lang#62078 - petrochenkov:nosendync2, r=varkor