Skip to content

Commit

Permalink
Cursor: update docs to clarify Cursor only works with in-memory buffers
Browse files Browse the repository at this point in the history
Reduce misconceptions about Cursor being more general than it really is.

Fixes: rust-lang#52470
  • Loading branch information
tko committed Jul 19, 2018
1 parent a8247dd commit 8b80c9f
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/libstd/io/cursor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ use core::convert::TryInto;
use cmp;
use io::{self, Initializer, SeekFrom, Error, ErrorKind};

/// A `Cursor` wraps another type and provides it with a
/// A `Cursor` wraps an in-memory buffer and provides it with a
/// [`Seek`] implementation.
///
/// `Cursor`s are typically used with in-memory buffers to allow them to
/// implement [`Read`] and/or [`Write`], allowing these buffers to be used
/// anywhere you might use a reader or writer that does actual I/O.
/// `Cursor`s are used with in-memory buffers, anything implementing
/// `AsRef<[u8]>`, to allow them to implement [`Read`] and/or [`Write`],
/// allowing these buffers to be used anywhere you might use a reader or writer
/// that does actual I/O.
///
/// The standard library implements some I/O traits on various types which
/// are commonly used as a buffer, like `Cursor<`[`Vec`]`<u8>>` and
Expand Down Expand Up @@ -87,11 +88,11 @@ pub struct Cursor<T> {
}

impl<T> Cursor<T> {
/// Creates a new cursor wrapping the provided underlying I/O object.
/// Creates a new cursor wrapping the provided underlying in-memory buffer.
///
/// Cursor initial position is `0` even if underlying object (e.
/// g. `Vec`) is not empty. So writing to cursor starts with
/// overwriting `Vec` content, not with appending to it.
/// Cursor initial position is `0` even if underlying buffer (e.g. `Vec`)
/// is not empty. So writing to cursor starts with overwriting `Vec`
/// content, not with appending to it.
///
/// # Examples
///
Expand Down

0 comments on commit 8b80c9f

Please sign in to comment.