@@ -15,22 +15,28 @@ use cmp;
1515use io:: { self , SeekFrom , Error , ErrorKind } ;
1616
1717/// A `Cursor` wraps another type and provides it with a
18- /// [`Seek`](trait.Seek.html) implementation.
18+ /// [`Seek`] implementation.
1919///
20- /// Cursors are typically used with in-memory buffers to allow them to
21- /// implement `Read` and/or `Write`, allowing these buffers to be used
20+ /// `Cursor`s are typically used with in-memory buffers to allow them to
21+ /// implement [ `Read`] and/or [ `Write`] , allowing these buffers to be used
2222/// anywhere you might use a reader or writer that does actual I/O.
2323///
2424/// The standard library implements some I/O traits on various types which
25- /// are commonly used as a buffer, like `Cursor<Vec<u8>>` and `Cursor<&[u8]>`.
25+ /// are commonly used as a buffer, like `Cursor<`[`Vec`]`<u8>>` and
26+ /// `Cursor<`[`&[u8]`]`>`.
2627///
2728/// # Examples
2829///
29- /// We may want to write bytes to a [`File`][file] in our production
30+ /// We may want to write bytes to a [`File`] in our production
3031/// code, but use an in-memory buffer in our tests. We can do this with
3132/// `Cursor`:
3233///
33- /// [file]: ../fs/struct.File.html
34+ /// [`Seek`]: trait.Seek.html
35+ /// [`Read`]: ../../std/io/trait.Read.html
36+ /// [`Write`]: ../../std/io/trait.Write.html
37+ /// [`Vec`]: ../../std/vec/struct.Vec.html
38+ /// [`&[u8]`]: ../../std/primitive.slice.html
39+ /// [`File`]: ../fs/struct.File.html
3440///
3541/// ```no_run
3642/// use std::io::prelude::*;
0 commit comments