|
|
|
|
|
by joshuamorton
2305 days ago
|
|
Well no, for the reason I describe above: if you have the pattern mut a = 4
f(a)
print(a)
In rust and python, you'll always get 4 in python, but the value in rust depends on `f`.This means that the passed variable is immutable but shadowable, as in rust. (An object in python is much more like an Box/Cell, so the contained object can be mutated, but the reference to the box itself is immutable). |
|
I will be precise. There is no definition of f such that this function will print anything other than "4".
Again, you seem to be confusing mutable references and mutable variables. If I had written f(&mut x) rather than f(x), you would be right.