diff options
| author | Tommi Komulainen <tommi.komulainen@iki.fi> | 2018-07-19 21:07:40 +0200 |
|---|---|---|
| committer | Tommi Komulainen <tommi.komulainen@iki.fi> | 2018-07-19 21:11:51 +0200 |
| commit | 8b80c9f5a142821ab49c78dd7f86b63a2c839fb8 (patch) | |
| tree | dd28a57be37941fcd2fff21771dae7ee11839568 /src/libstd | |
| parent | a8247dd5c69ca57ede5073209bd30afb90dd4e3b (diff) | |
| download | rust-8b80c9f5a142821ab49c78dd7f86b63a2c839fb8.tar.gz rust-8b80c9f5a142821ab49c78dd7f86b63a2c839fb8.zip | |
Cursor: update docs to clarify Cursor only works with in-memory buffers
Reduce misconceptions about Cursor being more general than it really is. Fixes: #52470
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/io/cursor.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/libstd/io/cursor.rs b/src/libstd/io/cursor.rs index aadd33b3954..3622df16b9d 100644 --- a/src/libstd/io/cursor.rs +++ b/src/libstd/io/cursor.rs @@ -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 @@ -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 /// |
