Skip to content

librustc: Make vectors no longer implicitly copyable in rustc. #4362

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

Closed
wants to merge 1 commit into from

Conversation

pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Jan 6, 2013

r? @graydon

~20% perf win for trans on -O0, with other minor improvements across the board.
No effect on -O2.

Much of this change was made with a Perl script to make all the copies explicit. The copies that seem questionable are annotated with /*bad*/.

There is a borrowck unsoundness noted with the "Beware!" comment in typeck — there should be a bug on this. It will go away when we de-mode rustc.

~20% perf win for trans on -O0, with other minor improvements across the board.
No effect on -O2.
@graydon
Copy link
Contributor

graydon commented Jan 7, 2013

r+ great work. How did you determine which were questionable?

@pcwalton
Copy link
Contributor Author

pcwalton commented Jan 7, 2013

Manual inspection for most of them, then I got tired of it and made the perl script conservatively add them.

@graydon
Copy link
Contributor

graydon commented Jan 7, 2013

cool. r++ :)

@catamorphism
Copy link
Contributor

Appears to be merged in 53f41f0 so I'm closing.

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.

3 participants