I've got the following source file, with various permutations to the parameter on line 2:
fn main() {
io::println(~"foo" + ~"foo");
}
~"foo" + ~"foo": compiles as expected; outputs foofoo
"foo" + ~"foo": fails to compile: error: binary operation + cannot be applied to type &static/str
~"foo" + "foo": compiles as expected; outputs foofoo
"foo" + "foo": fails to compile: error: binary operation + cannot be applied to type &static/str
~"foo" + @"foo": compiles as expected; outputs foofoo
@"foo" + ~"foo": fails to compile: error: binary operation + cannot be applied to type @str
@"foo" + @"foo": fails to compile: error: binary operation + cannot be applied to type @str
This is f96a2a2 running on Mac OS 10.8.2.