diff options
| author | Christiaan Dirkx <christiaan@dirkx.email> | 2021-06-20 11:55:26 +0200 |
|---|---|---|
| committer | Christiaan Dirkx <christiaan@dirkx.email> | 2021-06-20 11:55:26 +0200 |
| commit | 835561ac5b3529a827c76dc4e7cea15f38047b5a (patch) | |
| tree | a6543ddae0ee1660f0cce9c8ae7f49a77bab8faf | |
| parent | 1a96d2272eadac00d9fb953e92bfdcd51e6a4b22 (diff) | |
| download | rust-835561ac5b3529a827c76dc4e7cea15f38047b5a.tar.gz rust-835561ac5b3529a827c76dc4e7cea15f38047b5a.zip | |
Make `os_str_bytes::{Buf, Slice}` `pub` and `repr(transparent)`
| -rw-r--r-- | library/std/src/sys_common/os_str_bytes.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/library/std/src/sys_common/os_str_bytes.rs b/library/std/src/sys_common/os_str_bytes.rs index 0420428860b..470f401a6d2 100644 --- a/library/std/src/sys_common/os_str_bytes.rs +++ b/library/std/src/sys_common/os_str_bytes.rs @@ -14,17 +14,13 @@ use crate::sys_common::{AsInner, IntoInner}; use core::str::lossy::Utf8Lossy; #[derive(Hash)] -pub(crate) struct Buf { +#[repr(transparent)] +pub struct Buf { pub inner: Vec<u8>, } -// FIXME: -// `Buf::as_slice` current implementation relies -// on `Slice` being layout-compatible with `[u8]`. -// When attribute privacy is implemented, `Slice` should be annotated as `#[repr(transparent)]`. -// Anyway, `Slice` representation and layout are considered implementation detail, are -// not documented and must not be relied upon. -pub(crate) struct Slice { +#[repr(transparent)] +pub struct Slice { pub inner: [u8], } |
