pub fn new(inner: T) -> Self {
        Self { inner: io::Cursor::new(inner) }
    }
Creates a new cursor wrapping the provided underlying in-memory buffer.

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

```
use futures::io::Cursor;

let buff = Cursor::new(Vec::new());
# fn force_inference(_: &Cursor<Vec<u8>>) {}
# force_inference(&buff);
```
futures-util/src/io/cursor.rs