//! Collection types.
//!
-//! See [std::collections](../std/collections) for a detailed discussion of
+//! See [std::collections](../std/collections/index.html) for a detailed discussion of
//! collections in Rust.
#![crate_name = "collections"]
///
/// For iterating from the front, the [`matches()`] method can be used.
///
- /// [`matches`]: #method.matches
+ /// [`matches()`]: #method.matches
///
/// # Examples
///
/// hello.push_str("orld!");
/// ```
///
+/// [`char`]: ../primitive.char.html
/// [`push()`]: #method.push
/// [`push_str()`]: #method.push_str
///
/// ```
///
/// [`as_ptr()`]: #method.as_ptr
-/// [`len()`]: # method.len
-/// [`capacity()`]: # method.capacity
+/// [`len()`]: #method.len
+/// [`capacity()`]: #method.capacity
///
/// If a `String` has enough capacity, adding elements to it will not
/// re-allocate. For example, consider this program:
/// Converts a slice of bytes to a `String`, including invalid characters.
///
/// A string slice ([`&str`]) is made of bytes ([`u8`]), and a slice of
- /// bytes ([`&[u8]`]) is made of bytes, so this function converts between
+ /// bytes ([`&[u8]`][byteslice]) is made of bytes, so this function converts between
/// the two. Not all byte slices are valid string slices, however: [`&str`]
/// requires that it is valid UTF-8. During this conversion,
/// `from_utf8_lossy()` will replace any invalid UTF-8 sequences with
///
/// [`&str`]: ../primitive.str.html
/// [`u8`]: ../primitive.u8.html
- /// [`&[u8]`]: ../primitive.slice.html
+ /// [byteslice]: ../primitive.slice.html
///
/// If you are sure that the byte slice is valid UTF-8, and you don't want
/// to incur the overhead of the conversion, there is an unsafe version
///
/// [`Utf8Error`]: ../str/struct.Utf8Error.html
/// [`std::str`]: ../str/index.html
+ /// [`u8`]: ../primitive.u8.html
+ /// [`&str`]: ../primitive.str.html
///
/// # Examples
///
/// One of the keys to `collect()`'s power is that many things you might
/// not think of as 'collections' actually are. For example, a [`String`]
/// is a collection of [`char`]s. And a collection of [`Result<T, E>`] can
- /// be thought of as single [`Result<Collection<T>, E>`]. See the examples
+ /// be thought of as single `Result<Collection<T>, E>`. See the examples
/// below for more.
///
/// [`String`]: ../string/struct.String.html
/// This `struct` is created by the [`to_lowercase()`] method on [`char`]. See
/// its documentation for more.
///
-/// [`to_lowercase()`]: primitive.char.html#method.escape_to_lowercase
-/// [`char`]: primitive.char.html
+/// [`to_lowercase()`]: ../primitive.char.html#method.to_lowercase
+/// [`char`]: ../primitive.char.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct ToLowercase(CaseMappingIter);
/// This `struct` is created by the [`to_uppercase()`] method on [`char`]. See
/// its documentation for more.
///
-/// [`to_uppercase()`]: primitive.char.html#method.escape_to_uppercase
-/// [`char`]: primitive.char.html
+/// [`to_uppercase()`]: ../primitive.char.html#method.to_uppercase
+/// [`char`]: ../primitive.char.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct ToUppercase(CaseMappingIter);
//! ```
//!
//! `BufWriter` doesn't add any new ways of writing; it just buffers every call
-//! to [`write()`][write]:
+//! to [`write()`][write()]:
//!
//! ```
//! use std::io;
//! # }
//! ```
//!
-//! [write]: trait.Write.html#tymethod.write
+//! [write()]: trait.Write.html#tymethod.write
//!
//! ## Standard input and output
//!
///
/// [`File`][file]s implement `Read`:
///
-/// [file]: ../std/fs/struct.File.html
+/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// #![feature(io)]
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
///
/// [`File`][file]s implement `Read`:
///
- /// [file]: ../std/fs/struct.File.html
+ /// [file]: ../fs/struct.File.html
///
/// ```
/// #![feature(io)]