write-by-ref

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
pull/314/head
Yoshua Wuyts 5 years ago
parent 30b5ca5851
commit f7592963cf
No known key found for this signature in database
GPG Key ID: 24EA8164F96777ED

@ -197,6 +197,36 @@ extension_trait! {
{ {
WriteAllFuture { writer: self, buf } WriteAllFuture { writer: self, buf }
} }
#[doc = r#"
Creates a "by reference" adaptor for this instance of `Write`.
The returned adaptor also implements `Write` and will simply borrow this
current writer.
# Examples
[`File`][file]s implement `Write`:
[file]: ../fs/struct.File.html
```no_run
# fn main() -> std::io::Result<()> { async_std::task::block_on(async {
#
use async_std::prelude::*;
use async_std::fs::File;
let mut buffer = File::create("foo.txt").await?;
let reference = buffer.by_ref();
// we can use reference just like our original buffer
reference.write_all(b"some bytes")?;
#
# Ok(()) }) }
```
"#]
fn by_ref(&mut self) -> &mut Self where Self: Sized { self }
} }
impl<T: Write + Unpin + ?Sized> Write for Box<T> { impl<T: Write + Unpin + ?Sized> Write for Box<T> {

Loading…
Cancel
Save