summaryrefslogtreecommitdiffstats
path: root/library/std/src/net/display_buffer.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:41 +0000
commit4f9fe856a25ab29345b90e7725509e9ee38a37be (patch)
treee4ffd8a9374cae7b21f7cbfb352927e0e074aff6 /library/std/src/net/display_buffer.rs
parentAdding upstream version 1.68.2+dfsg1. (diff)
downloadrustc-4f9fe856a25ab29345b90e7725509e9ee38a37be.tar.xz
rustc-4f9fe856a25ab29345b90e7725509e9ee38a37be.zip
Adding upstream version 1.69.0+dfsg1.upstream/1.69.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/std/src/net/display_buffer.rs')
-rw-r--r--library/std/src/net/display_buffer.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/library/std/src/net/display_buffer.rs b/library/std/src/net/display_buffer.rs
deleted file mode 100644
index 7aadf06e9..000000000
--- a/library/std/src/net/display_buffer.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-use crate::fmt;
-use crate::mem::MaybeUninit;
-use crate::str;
-
-/// Used for slow path in `Display` implementations when alignment is required.
-pub struct DisplayBuffer<const SIZE: usize> {
- buf: [MaybeUninit<u8>; SIZE],
- len: usize,
-}
-
-impl<const SIZE: usize> DisplayBuffer<SIZE> {
- #[inline]
- pub const fn new() -> Self {
- Self { buf: MaybeUninit::uninit_array(), len: 0 }
- }
-
- #[inline]
- pub fn as_str(&self) -> &str {
- // SAFETY: `buf` is only written to by the `fmt::Write::write_str` implementation
- // which writes a valid UTF-8 string to `buf` and correctly sets `len`.
- unsafe {
- let s = MaybeUninit::slice_assume_init_ref(&self.buf[..self.len]);
- str::from_utf8_unchecked(s)
- }
- }
-}
-
-impl<const SIZE: usize> fmt::Write for DisplayBuffer<SIZE> {
- fn write_str(&mut self, s: &str) -> fmt::Result {
- let bytes = s.as_bytes();
-
- if let Some(buf) = self.buf.get_mut(self.len..(self.len + bytes.len())) {
- MaybeUninit::write_slice(buf, bytes);
- self.len += bytes.len();
- Ok(())
- } else {
- Err(fmt::Error)
- }
- }
-}