Use Vec::drain in BufWriter
I happened past a comment that asked for functionality that we now have.
This commit is contained in:
parent
1b28ffa521
commit
7b51c1c573
2 changed files with 2 additions and 8 deletions
|
@ -18,7 +18,6 @@ use cmp;
|
||||||
use error;
|
use error;
|
||||||
use fmt;
|
use fmt;
|
||||||
use io::{self, DEFAULT_BUF_SIZE, Error, ErrorKind, SeekFrom};
|
use io::{self, DEFAULT_BUF_SIZE, Error, ErrorKind, SeekFrom};
|
||||||
use ptr;
|
|
||||||
|
|
||||||
/// The `BufReader` struct adds buffering to any reader.
|
/// The `BufReader` struct adds buffering to any reader.
|
||||||
///
|
///
|
||||||
|
@ -308,14 +307,8 @@ impl<W: Write> BufWriter<W> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if written > 0 {
|
if written > 0 {
|
||||||
// NB: would be better expressed as .remove(0..n) if it existed
|
self.buf.drain(..written);
|
||||||
unsafe {
|
|
||||||
ptr::copy(self.buf.as_ptr().offset(written as isize),
|
|
||||||
self.buf.as_mut_ptr(),
|
|
||||||
len - written);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
self.buf.truncate(len - written);
|
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,7 @@
|
||||||
#![feature(core_intrinsics)]
|
#![feature(core_intrinsics)]
|
||||||
#![feature(core_prelude)]
|
#![feature(core_prelude)]
|
||||||
#![feature(core_simd)]
|
#![feature(core_simd)]
|
||||||
|
#![feature(drain)]
|
||||||
#![feature(fnbox)]
|
#![feature(fnbox)]
|
||||||
#![feature(heap_api)]
|
#![feature(heap_api)]
|
||||||
#![feature(int_error_internals)]
|
#![feature(int_error_internals)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue