diff options
| author | bors <bors@rust-lang.org> | 2018-03-20 10:18:34 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-03-20 10:18:34 +0000 |
| commit | 75af15ee6ca0c12b699a17984b033363cd25e9c3 (patch) | |
| tree | 02642ba3cf3431e3bfd86a75287965ffa6603048 /src/libstd | |
| parent | b99172311c640c33f70676df7f75a899a999711c (diff) | |
| parent | 57b821112eccebaa2a00bfa1193da55f5b677dc5 (diff) | |
| download | rust-75af15ee6ca0c12b699a17984b033363cd25e9c3.tar.gz rust-75af15ee6ca0c12b699a17984b033363cd25e9c3.zip | |
Auto merge of #49190 - kennytm:rollup, r=kennytm
Rollup of 17 pull requests - Successful merges: #46518, #48810, #48834, #48902, #49004, #49092, #49096, #49099, #49104, #49125, #49139, #49152, #49157, #49161, #49166, #49176, #49184 - Failed merges:
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/io/buffered.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs index 9250c1c437b..ccaa19acc83 100644 --- a/src/libstd/io/buffered.rs +++ b/src/libstd/io/buffered.rs @@ -168,8 +168,36 @@ impl<R: Read> BufReader<R> { /// # } /// ``` #[unstable(feature = "bufreader_is_empty", issue = "45323", reason = "recently added")] + #[rustc_deprecated(since = "1.26.0", reason = "use .buffer().is_empty() instead")] pub fn is_empty(&self) -> bool { - self.pos == self.cap + self.buffer().is_empty() + } + + /// Returns a reference to the internally buffered data. + /// + /// Unlike `fill_buf`, this will not attempt to fill the buffer if it is empty. + /// + /// # Examples + /// + /// ``` + /// # #![feature(bufreader_buffer)] + /// use std::io::{BufReader, BufRead}; + /// use std::fs::File; + /// + /// # fn foo() -> std::io::Result<()> { + /// let f = File::open("log.txt")?; + /// let mut reader = BufReader::new(f); + /// assert!(reader.buffer().is_empty()); + /// + /// if reader.fill_buf()?.len() > 0 { + /// assert!(!reader.buffer().is_empty()); + /// } + /// # Ok(()) + /// # } + /// ``` + #[unstable(feature = "bufreader_buffer", issue = "45323")] + pub fn buffer(&self) -> &[u8] { + &self.buf[self.pos..self.cap] } /// Unwraps this `BufReader`, returning the underlying reader. |
