about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorTommi Komulainen <tommi.komulainen@iki.fi>2018-07-19 21:07:40 +0200
committerTommi Komulainen <tommi.komulainen@iki.fi>2018-07-19 21:11:51 +0200
commit8b80c9f5a142821ab49c78dd7f86b63a2c839fb8 (patch)
treedd28a57be37941fcd2fff21771dae7ee11839568 /src/libstd
parenta8247dd5c69ca57ede5073209bd30afb90dd4e3b (diff)
downloadrust-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.rs17
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
     ///