about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2017-03-28 23:19:23 -0400
committerGitHub <noreply@github.com>2017-03-28 23:19:23 -0400
commit88badb98c74f764f6e4baea3f6c9d3fd16013023 (patch)
tree7af0b747a0cbc8cc785bf95cfc3b51c477367394 /src/libstd
parent8ae1d444cbd8515289818ee3e6c13bf30a7a227a (diff)
parent8a91e4d1238b40200724826cc7ef3f7893c6152b (diff)
downloadrust-88badb98c74f764f6e4baea3f6c9d3fd16013023.tar.gz
rust-88badb98c74f764f6e4baea3f6c9d3fd16013023.zip
Rollup merge of #40783 - stepancheg:cursor-new-0, r=aturon
Document Cursor::new position is 0

... even if contained `Vec` is not empty. E. g. for

```
let v = vec![10u8, 20];
let mut c = io::Cursor::new(v);
c.write_all(b"aaaa").unwrap();
println!("{:?}", c.into_inner());
```

result is

```
[97, 97, 97, 97]
```

and not

```
[10, 20, 97, 97, 97, 97]
```
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/io/cursor.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libstd/io/cursor.rs b/src/libstd/io/cursor.rs
index 60767ea4786..53347eb14db 100644
--- a/src/libstd/io/cursor.rs
+++ b/src/libstd/io/cursor.rs
@@ -89,6 +89,10 @@ pub struct Cursor<T> {
 impl<T> Cursor<T> {
     /// Creates a new cursor wrapping the provided underlying I/O object.
     ///
+    /// 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.
+    ///
     /// # Examples
     ///
     /// ```