Minor fixes to std::str docs

This tweaks the `std::str` docs to compensate for the recent shift from `~str`
to `String`.
This commit is contained in:
P1start
2014-05-26 16:41:35 +12:00
parent 20a41519fd
commit c1fd3459fa

View File

@@ -16,15 +16,16 @@ Unicode string manipulation (`str` type)
Rust's string type is one of the core primitive types of the language. While Rust's string type is one of the core primitive types of the language. While
represented by the name `str`, the name `str` is not actually a valid type in represented by the name `str`, the name `str` is not actually a valid type in
Rust. Each string must also be decorated with its ownership. This means that Rust. Each string must also be decorated with a pointer. `String` is used
there is one common kind of string in Rust: for an owned string, so there is only one commonly-used `str` type in Rust:
`&str`.
* `&str` - This is the borrowed string type. This type of string can only be `&str` is the borrowed string type. This type of string can only be created
created from the other kind of string. As the name "borrowed" from other strings, unless it is a static string (see below). As the word
implies, this type of string is owned elsewhere, and this string "borrowed" implies, this type of string is owned elsewhere, and this string
cannot be moved out of. cannot be moved out of.
As an example, here's the one kind of string. As an example, here's some code that uses a string.
```rust ```rust
fn main() { fn main() {
@@ -32,8 +33,8 @@ fn main() {
} }
``` ```
From the example above, you can see that Rust has 1 different kind of string From the example above, you can see that Rust's string literals have the
literal. The "borrowed literal" is akin to C's concept of a static string. `'static` lifetime. This is akin to C's concept of a static string.
String literals are allocated statically in the rodata of the String literals are allocated statically in the rodata of the
executable/library. The string then has the type `&'static str` meaning that executable/library. The string then has the type `&'static str` meaning that
@@ -509,7 +510,7 @@ pub fn from_utf8_lossy<'a>(v: &'a [u8]) -> MaybeOwned<'a> {
Section: MaybeOwned Section: MaybeOwned
*/ */
/// A MaybeOwned is a string that can hold either a String or a &str. /// A `MaybeOwned` is a string that can hold either a `String` or a `&str`.
/// This can be useful as an optimization when an allocation is sometimes /// This can be useful as an optimization when an allocation is sometimes
/// needed but not always. /// needed but not always.
pub enum MaybeOwned<'a> { pub enum MaybeOwned<'a> {
@@ -519,7 +520,7 @@ pub enum MaybeOwned<'a> {
Owned(String) Owned(String)
} }
/// SendStr is a specialization of `MaybeOwned` to be sendable /// `SendStr` is a specialization of `MaybeOwned` to be sendable
pub type SendStr = MaybeOwned<'static>; pub type SendStr = MaybeOwned<'static>;
impl<'a> MaybeOwned<'a> { impl<'a> MaybeOwned<'a> {