-
Notifications
You must be signed in to change notification settings - Fork 13.3k
@mut freezing bugs #5910
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
Comments
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
# for free
to join this conversation on GitHub.
Already have an account?
# 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: