diff options
| author | bors <bors@rust-lang.org> | 2024-06-08 13:17:06 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-06-08 13:17:06 +0000 |
| commit | e484b3efa5ef01d93a4154f26b546a58dddc471b (patch) | |
| tree | e9e15a01056ee1a34ea4ab2bff2218f9bc16e713 /library/std/src/sys | |
| parent | 655600c5cba4d1e76fa0652c72258ec4996f48b8 (diff) | |
| parent | 2bdc53b153f16af9d81f8b68bdf27575ff82dc71 (diff) | |
| download | rust-e484b3efa5ef01d93a4154f26b546a58dddc471b.tar.gz rust-e484b3efa5ef01d93a4154f26b546a58dddc471b.zip | |
Auto merge of #125966 - schvv31n:impl_os_string_pathbuf_leak, r=workingjubilee
Implement `os_string_pathbuf_leak` implementation of #125965 ACP: https://github.com/rust-lang/libs-team/issues/389 [ Accepted ]
Diffstat (limited to 'library/std/src/sys')
| -rw-r--r-- | library/std/src/sys/os_str/bytes.rs | 5 | ||||
| -rw-r--r-- | library/std/src/sys/os_str/wtf8.rs | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/library/std/src/sys/os_str/bytes.rs b/library/std/src/sys/os_str/bytes.rs index 18b969bca85..f7c6b0877aa 100644 --- a/library/std/src/sys/os_str/bytes.rs +++ b/library/std/src/sys/os_str/bytes.rs @@ -177,6 +177,11 @@ impl Buf { } #[inline] + pub fn leak<'a>(self) -> &'a mut Slice { + unsafe { mem::transmute(self.inner.leak()) } + } + + #[inline] pub fn into_box(self) -> Box<Slice> { unsafe { mem::transmute(self.inner.into_boxed_slice()) } } diff --git a/library/std/src/sys/os_str/wtf8.rs b/library/std/src/sys/os_str/wtf8.rs index b3ceb55802d..dfff4dd4fb0 100644 --- a/library/std/src/sys/os_str/wtf8.rs +++ b/library/std/src/sys/os_str/wtf8.rs @@ -139,6 +139,11 @@ impl Buf { } #[inline] + pub fn leak<'a>(self) -> &'a mut Slice { + unsafe { mem::transmute(self.inner.leak()) } + } + + #[inline] pub fn into_box(self) -> Box<Slice> { unsafe { mem::transmute(self.inner.into_box()) } } |
