If you have a string slice (&amp;str) you need to convert it to a String you own before you can mutate it, yes. In some other languages strings are always immutable, and mutating them requires creating a copy. In Rust if you own the memory (and haven&#x27;t given out any immutable references to anyone), you can mutate it.<p>String literals are an interesting case for the reason mentioned in the earlier comment: they reference memory that no code &quot;owns&quot;, as in-place mutation of the executable would be unsafe.<p>Some languages have mutable strings but these are usually unsafe if used concurrently, or require locks. In Rust this is modeled in the type&#x2F;borrow system.