-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
@mut freezing bugs #5910
Comments
ghost
assigned nikomatsakis
Apr 16, 2013
Yeah, this code is not really right. I have some parts of this fixed in my borrow checker branch, and I've started a branch to take care of the rest. |
This was referenced May 5, 2013
Closed
Closed
Closed
This was referenced May 7, 2013
Closed
Closed
Merged
bors
added a commit
that referenced
this issue
May 7, 2013
…omatsakis This rather sprawling branch refactors the borrow checker and much of the region code, addressing a number of outstanding issues. I will close them manually after validating that there are test cases for each one, but here is a (probably partial) list: - #4903: Flow sensitivity - #3387: Moves in overloaded operators - #3850: Region granularity - #4666: Odd loaning errors - #6021: borrow check errors with hashmaps - #5910: @mut broken cc #5047 (take 5)
These issues are resolved. See the following run-pass and run-fail tests:
|
flip1995
pushed a commit
to flip1995/rust
that referenced
this issue
Aug 28, 2020
Rustup r? @ghost changelog: none
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You can unfreeze with a temporary borrowed pointer, because it doesn't restore the previous state:
Mutable borrows aren't tracked:
I think freezing needs to be
enum Borrow { Mutable, Immutable, Nothing }
with an immutable borrow failing if there was a Mutable one, and a mutable borrow failing on any freeze.The text was updated successfully, but these errors were encountered: