Skip to content

Ref bindings explicit copy in generics - #7167

Closed
nikomatsakis wants to merge 8 commits into
rust-lang:masterfrom
nikomatsakis:ref-bindings-explicit-copy-in-generics
Closed

Ref bindings explicit copy in generics#7167
nikomatsakis wants to merge 8 commits into
rust-lang:masterfrom
nikomatsakis:ref-bindings-explicit-copy-in-generics

Conversation

@nikomatsakis

Copy link
Copy Markdown
Contributor

Two changes:

  1. Make type parameters move by default, even if they have a Copy bound. After all, they could be bound to ~T or ~[]. Also, this is a necessary step towards removing copy keyword and replacing with clone.
  2. Make it illegal to move from *T. This is dangerous in a "moves-by-default" scenario, because it's very easy to move when working with a *T pointer. Also, it requires zeroing memory, which we hope to do away with someday.

@brson

Copy link
Copy Markdown
Contributor

Glad to see this. Moving out of * is scary.

@nikomatsakis

Copy link
Copy Markdown
ContributorAuthor

@brson thanks for the quick review. this seems like a patch that has very few "substantive" changes (two lines) but is very prone to bitrot ... :)

@nikomatsakis

Copy link
Copy Markdown
ContributorAuthor

oh, never mind, I guess he does understand p=2000. :)

bors added a commit that referenced this pull request Jun 16, 2013
…-generics, r=brson
Two changes:
1. Make type parameters move by default, even if they have a Copy bound. After all, they could be bound to `~T` or `~[]`. Also, this is a necessary step towards removing `copy` keyword and replacing with clone.
2. Make it illegal to move from `*T`. This is dangerous in a "moves-by-default" scenario, because it's very easy to move when working with a `*T` pointer. Also, it requires zeroing memory, which we hope to do away with someday.
@borsbors closed this Jun 16, 2013
@nikomatsakis
nikomatsakis deleted the ref-bindings-explicit-copy-in-generics branch March 30, 2016 16:16
flip1995 pushed a commit to flip1995/rust that referenced this pull request May 6, 2021
Fix unused_unit macro false positive
changelog: Fix [`unused_unit`] false positive with macros
Fixesrust-lang#7055
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
7176: Attribute completion r=matklad a=FlowerBOII
Solve rust-lang#7167.
I removed the optional args for the attributes ```deprecated```, ```must_use``` and ```should_panic```.
I also updated their respective tests.
Please let me know if I missed something.
Co-authored-by: FlowerBOII <42295129+FlowerBOII@users.noreply.github.com>
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
…ust-lang#7167
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
7339: Delete optional arg for inline attr and add doc alias attr completion r=lnicola a=bnjjj
closerust-lang#7167
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nikomatsakis@brson@bors