-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
RFC to remove some special treatment of Box by borrow checker #130
Conversation
I don't understand the motivation for doing this (but then I've never understood the obsession everyone else has with treating unique pointers just like non-unique pointers) especially when the proposed design still special cases I really just don't understand why we would want to make our type system more restrictive just because we can exploit information about |
As discussed in this week's Rust meeting, I went ahead and implemented this change to see what the fallout would be like. There are only two changes required in the Rust distribution (I'm not including tests, since they are designed to test all of the edge cases): https://gist.github.com/zwarich/348d5726d1ef42f109ee I'll finish going through tests and double-check that I implemented everything correctly, but this looks like minimal impact on any real-world code. |
I went through and wrote a bunch of new test cases, and found one place I missed, which resulted in a few more changes: https://gist.github.com/zwarich/348d5726d1ef42f109ee |
Discussed in https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-07-29.md. Accepted as RFC 43. Tracking: rust-lang/rust#16094. |
Fix links to tokio-tls documentation
At some point we should document the fact that NLL has gone back to adding (more) special treatment of |
See e.g. this snippet of conversation regarding the special treatment of |
…est-for-nll, r=davidtwco NLL: Update box insensitivity test This is just keeping one of our tests honest with respect to NLL, in two ways: 1. Adds uses of borrows that would otherwise be too short to observe the error that we would have expected to see... 2. ... I say "would have expected" because all of the errors in this file are part of the reversion of rust-lang/rfcs#130 that is attached to NLL (you can see more discussion of this here rust-lang#43234 (comment) )
Rendered