Skip to content

Ref bindings explicit copy in generics #7167

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Conversation

nikomatsakis
Copy link
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
Contributor

brson commented Jun 16, 2013

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

@nikomatsakis
Copy link
Contributor Author

@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
Contributor Author

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.
@bors bors 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

Fixes rust-lang#7055
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants