Rollup merge of #29617 - steveklabnik:gh29591, r=alexcrichton

Fixes #29591
This commit is contained in:
Manish Goregaokar 2015-11-07 06:44:45 +05:30
commit 50e8707cc3

View File

@ -24,9 +24,29 @@ compiled program, and exists for the entire duration it runs. The `greeting`
binding is a reference to this statically allocated string. String slices
have a fixed size, and cannot be mutated.
A `String`, on the other hand, is a heap-allocated string. This string is
growable, and is also guaranteed to be UTF-8. `String`s are commonly created by
converting from a string slice using the `to_string` method.
String literals can span multiple lines. There are two forms. The first will
include the newline and the leading spaces:
```rust
let s = "foo
bar";
assert_eq!("foo\n bar", s);
```
The second, with a `\`, does not trim the spaces:
```rust
let s = "foo\
bar";
assert_eq!("foobar", s);
```
Rust has more than just `&str`s though. A `String`, is a heap-allocated string.
This string is growable, and is also guaranteed to be UTF-8. `String`s are
commonly created by converting from a string slice using the `to_string`
method.
```rust
let mut s = "Hello".to_string(); // mut s: String