Skip to content

Commit

Permalink
Remove Drop impl of mpsc Receiver and (Sync)Sender
Browse files Browse the repository at this point in the history
  • Loading branch information
benschulz committed Aug 18, 2023
1 parent 0f7f6b7 commit a38ea96
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 21 deletions.
15 changes: 0 additions & 15 deletions library/std/src/sync/mpsc/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -626,11 +626,6 @@ impl<T> Clone for Sender<T> {
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T> Drop for Sender<T> {
fn drop(&mut self) {}
}

#[stable(feature = "mpsc_debug", since = "1.8.0")]
impl<T> fmt::Debug for Sender<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
Expand Down Expand Up @@ -755,11 +750,6 @@ impl<T> Clone for SyncSender<T> {
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T> Drop for SyncSender<T> {
fn drop(&mut self) {}
}

#[stable(feature = "mpsc_debug", since = "1.8.0")]
impl<T> fmt::Debug for SyncSender<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
Expand Down Expand Up @@ -1096,11 +1086,6 @@ impl<T> IntoIterator for Receiver<T> {
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T> Drop for Receiver<T> {
fn drop(&mut self) {}
}

#[stable(feature = "mpsc_debug", since = "1.8.0")]
impl<T> fmt::Debug for Receiver<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/span/send-is-not-static-std-sync.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ fn channel() {
tx.send(&z).unwrap();
}
//~^^ ERROR `z` does not live long enough
// (channels lack #[may_dangle], thus their dtors are implicit uses of `z`)
tx.use_ref(); // (channel drop glue does not use `z` => needs explicit use)
}

fn main() {}
Expand Down
8 changes: 3 additions & 5 deletions tests/ui/span/send-is-not-static-std-sync.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,9 @@ LL | tx.send(&z).unwrap();
| ^^ borrowed value does not live long enough
LL | }
| - `z` dropped here while still borrowed
...
LL | }
| - borrow might be used here, when `tx` is dropped and runs the `Drop` code for type `Sender`
|
= note: values in a scope are dropped in the opposite order they are defined
LL |
LL | tx.use_ref(); // (channel drop glue does not use `z` => needs explicit use)
| -- borrow later used here

error: aborting due to 6 previous errors

Expand Down

0 comments on commit a38ea96

Please sign in to comment.