Arguably, C++ arguably already solved that specific problem with const safety. I was flabbergasted back in 1995 that Java had dropped that notion.
I believe that's undefined behavior territory (the mutation, at least in most cases), but I'm sure someone is doing it in the wild.
In Rust, on the other hand, if there's a mutable reference to an object, there can be no other references to the same object at the same time.