diff options
| author | bors <bors@rust-lang.org> | 2024-01-26 10:20:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-01-26 10:20:59 +0000 |
| commit | 1fc46f3a8f12622c077f533da9e6dc3c227bbbb2 (patch) | |
| tree | 4d2ab1d6171682ea1b2b1bc8adc7181e2e2b1d7a /library/std/src/io/stdio.rs | |
| parent | 69db514ed9238bb11f5d2c576fe26020e3b99a52 (diff) | |
| parent | ee2a2a3f31662d09e821b9a86151650d607550a6 (diff) | |
| download | rust-1fc46f3a8f12622c077f533da9e6dc3c227bbbb2.tar.gz rust-1fc46f3a8f12622c077f533da9e6dc3c227bbbb2.zip | |
Auto merge of #120365 - matthiaskrgr:rollup-ly2w0d5, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #107464 (Add `str::Lines::remainder`) - #118803 (Add the `min_exhaustive_patterns` feature gate) - #119466 (Initial implementation of `str::from_raw_parts[_mut]`) - #120053 (Specialize `Bytes` on `StdinLock<'_>`) - #120124 (Split assembly tests for ELF and MachO) - #120204 (Builtin macros effectively have implicit #[collapse_debuginfo(yes)]) - #120322 (Don't manually resolve async closures in `rustc_resolve`) - #120356 (Fix broken markdown in csky-unknown-linux-gnuabiv2.md) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library/std/src/io/stdio.rs')
| -rw-r--r-- | library/std/src/io/stdio.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/library/std/src/io/stdio.rs b/library/std/src/io/stdio.rs index 05b21eeb40f..261b570dee7 100644 --- a/library/std/src/io/stdio.rs +++ b/library/std/src/io/stdio.rs @@ -8,7 +8,9 @@ use crate::io::prelude::*; use crate::cell::{Cell, RefCell}; use crate::fmt; use crate::fs::File; -use crate::io::{self, BorrowedCursor, BufReader, IoSlice, IoSliceMut, LineWriter, Lines}; +use crate::io::{ + self, BorrowedCursor, BufReader, IoSlice, IoSliceMut, LineWriter, Lines, SpecReadByte, +}; use crate::sync::atomic::{AtomicBool, Ordering}; use crate::sync::{Arc, Mutex, MutexGuard, OnceLock, ReentrantMutex, ReentrantMutexGuard}; use crate::sys::stdio; @@ -483,6 +485,13 @@ impl Read for StdinLock<'_> { } } +impl SpecReadByte for StdinLock<'_> { + #[inline] + fn spec_read_byte(&mut self) -> Option<io::Result<u8>> { + BufReader::spec_read_byte(&mut *self.inner) + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl BufRead for StdinLock<'_> { fn fill_buf(&mut self) -> io::Result<&[u8]> { |
