The Rust docs say “you can only have one mutable reference to a particular piece of data in a particular scope.” The 4-line code example shows the creation of a string, the creation of the first mutable reference, the creation of a second mutable reference, and lastly, a println printing both references.
The bizarre thing is removing the println results in a program that compiles. Initially I thought this was due to dead code elimination by the compiler, but I’m not sure.