about summary refs log tree commit diff
path: root/library/std/src/io/mod.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-07-15 10:57:49 +0000
committerbors <bors@rust-lang.org>2024-07-15 10:57:49 +0000
commitd3dd34a1d4a7e25a92a0d65994bb01a5d17c59ee (patch)
treebd23bcd2ad1cdb90b447fb16e6a4679dbda900d0 /library/std/src/io/mod.rs
parentadeb79d3f523dfc11a8e9db64ddfc5f546f650bb (diff)
parent476d399782a27df846e1ace578a2e89f70a13d42 (diff)
downloadrust-d3dd34a1d4a7e25a92a0d65994bb01a5d17c59ee.tar.gz
rust-d3dd34a1d4a7e25a92a0d65994bb01a5d17c59ee.zip
Auto merge of #127757 - workingjubilee:rollup-4dbks5r, r=workingjubilee
Rollup of 3 pull requests

Successful merges:

 - #127712 (Windows: Remove some unnecessary type aliases)
 - #127744 (std: `#![deny(unsafe_op_in_unsafe_fn)]` in platform-independent code)
 - #127750 (Make os/windows and pal/windows default to `#![deny(unsafe_op_in_unsafe_fn)]`)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'library/std/src/io/mod.rs')
-rw-r--r--library/std/src/io/mod.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs
index b464461277a..1345a30361e 100644
--- a/library/std/src/io/mod.rs
+++ b/library/std/src/io/mod.rs
@@ -382,11 +382,11 @@ pub(crate) unsafe fn append_to_string<F>(buf: &mut String, f: F) -> Result<usize
 where
     F: FnOnce(&mut Vec<u8>) -> Result<usize>,
 {
-    let mut g = Guard { len: buf.len(), buf: buf.as_mut_vec() };
+    let mut g = Guard { len: buf.len(), buf: unsafe { buf.as_mut_vec() } };
     let ret = f(g.buf);
 
     // SAFETY: the caller promises to only append data to `buf`
-    let appended = g.buf.get_unchecked(g.len..);
+    let appended = unsafe { g.buf.get_unchecked(g.len..) };
     if str::from_utf8(appended).is_err() {
         ret.and_then(|_| Err(Error::INVALID_UTF8))
     } else {