Joe232
1
https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html
I thought we are not allowed to have more than two mutable references to a String.
fn main()
{
let mut x = String::from("Hello");
let a = &mut x;
let b = &mut x;
}
How is this allowed then my compiler is not given any errors?
Thanks to a feature called non-lexical lifetimes, a borrow no longer lasts the whole lexical scope if you don’t use it.
In the above case, neither borrow is used, so they “end” immediately, allowing other mutable borrows to happen.
3 Likes
Joe232
3
Is this something new that has been added?
leudz
4
It came with the 2018 edition in Rust 1.31, released on Dec. 06, 2018. It will also be available in Rust 2015 soon.
1 Like
TomP
5
As in this coming Thursday when Rust 1.36.0 is scheduled for release.
system
Closed
6
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.