Is there some reason why I cannot concatenate a string literal with a string variable? The following code:
fn main() {
let x = ~"abcd";
io::println("Message: " + x);
}
gives this error:
test2.rs:3:16: 3:31 error: binary operation + cannot be applied to type `&'static str`
test2.rs:3 io::println("Message: " + x);
^~~~~~~~~~~~~~~
error: aborting due to previous error
I guess this is a pretty basic and very common pattern, and usage of fmt!
in such cases only brings unnecessary clutter.
By default string literals have static lifetime, and it is not possible to concatenate unique and static vectors. Using unique literal string helped:
Just to addon to the above answer, as long as the right most string is of the type ~str then you can add any kind of string to it.
With the latest version of Rust (0.11), the tilde (
~
) operator is deprecated.Here's an example of how to fix it with version 0.11: