Skip to content
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

Remove internal uses of the NoCopy marker #19832

Merged
merged 2 commits into from
Dec 17, 2014
Merged

Conversation

japaric
Copy link
Member

@japaric japaric commented Dec 14, 2014

@alexcrichton
Copy link
Member

I think that we currently have an opt_out_copy feature gate which allows bring back the old behavior, so we may want to keep the NoCopy structure until that's removed. Perhaps thought it could be explicitly tagged with #[unstable] for now to indicate that it will be going away in the future?

@japaric japaric changed the title Remove the NoCopy marker Remove internal uses of the NoCopy marker Dec 15, 2014
@japaric
Copy link
Member Author

japaric commented Dec 15, 2014

@alexcrichton To move forward, I changed the PR to just remove all the internal uses of NoCopy. We can decide later how/when to remove the marker. r?

marker: marker::NoCopy
}
#[allow(missing_copy_implementations)]
pub struct OsRng;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may actually want to keep one private field to ensure that it cannot be constructed outside of this module.

@alexcrichton
Copy link
Member

Awesome, thanks @japaric! Just one small nit and otherwise r=me

@japaric
Copy link
Member Author

japaric commented Dec 15, 2014

@alexcrichton Added a dummy private field to OsRng. re-r?

bors referenced this pull request Dec 16, 2014
This creates an enormous amount of spew.
bors added a commit that referenced this pull request Dec 16, 2014
Remove internal uses of the `NoCopy` marker

Reviewed-by: alexcrichton
bors referenced this pull request Dec 16, 2014
Using a type alias for iterator implementations is fragile since this
exposes the implementation to users of the iterator, and any changes
could break existing code.

This commit changes the iterators of `VecMap` to use
proper new types, rather than type aliases.  However, since it is
fair-game to treat a type-alias as the aliased type, this is a:

[breaking-change].
bors added a commit that referenced this pull request Dec 16, 2014
Remove internal uses of the `NoCopy` marker

Reviewed-by: alexcrichton
bors added a commit that referenced this pull request Dec 17, 2014
Remove internal uses of the `NoCopy` marker

Reviewed-by: alexcrichton
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Dec 17, 2014
@bors bors merged commit c3778fa into rust-lang:master Dec 17, 2014
@japaric japaric deleted the no-nocopy branch December 20, 2014 12:30
Sign up for free to 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.

4 participants