diff options
| author | bors <bors@rust-lang.org> | 2024-11-23 04:44:26 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-11-23 04:44:26 +0000 |
| commit | c49a687d636e3464cdc6599fb562c29470526b01 (patch) | |
| tree | 30f2f73f2b8c6db58561fa051982642a964d7d08 /library | |
| parent | 743003b1a6f838e0a694bd5824fd8a839d5d45e5 (diff) | |
| parent | 7b3e593fb12f1ae1212ea42c054695f7b1c17a63 (diff) | |
| download | rust-c49a687d636e3464cdc6599fb562c29470526b01.tar.gz rust-c49a687d636e3464cdc6599fb562c29470526b01.zip | |
Auto merge of #133360 - compiler-errors:rollup-a2o38tq, r=compiler-errors
Rollup of 8 pull requests Successful merges: - #132090 (Stop being so bail-y in candidate assembly) - #132658 (Detect const in pattern with typo) - #132911 (Pretty print async fn sugar in opaques and trait bounds) - #133102 (aarch64 softfloat target: always pass floats in int registers) - #133159 (Don't allow `-Zunstable-options` to take a value ) - #133208 (generate-copyright: Now generates a library file too.) - #133215 (Fix missing submodule in `./x vendor`) - #133264 (implement OsString::truncate) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library')
| -rw-r--r-- | library/std/src/ffi/os_str.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/library/std/src/ffi/os_str.rs b/library/std/src/ffi/os_str.rs index 79dfb47d0c4..328185d1f2b 100644 --- a/library/std/src/ffi/os_str.rs +++ b/library/std/src/ffi/os_str.rs @@ -550,11 +550,15 @@ impl OsString { OsStr::from_inner_mut(self.inner.leak()) } - /// Provides plumbing to core `Vec::truncate`. - /// More well behaving alternative to allowing outer types - /// full mutable access to the core `Vec`. + /// Truncate the the `OsString` to the specified length. + /// + /// # Panics + /// Panics if `len` does not lie on a valid `OsStr` boundary + /// (as described in [`OsStr::slice_encoded_bytes`]). #[inline] - pub(crate) fn truncate(&mut self, len: usize) { + #[unstable(feature = "os_string_truncate", issue = "133262")] + pub fn truncate(&mut self, len: usize) { + self.as_os_str().inner.check_public_boundary(len); self.inner.truncate(len); } |
