Document safety of Path casting
This commit is contained in:
parent
3ac40b69c7
commit
9c0f3f7f2a
1 changed files with 7 additions and 0 deletions
|
|
@ -296,6 +296,13 @@ where
|
|||
}
|
||||
|
||||
// See note at the top of this module to understand why these are used:
|
||||
//
|
||||
// These casts are safe as OsStr is internally a wrapper around [u8] on all
|
||||
// platforms.
|
||||
//
|
||||
// Note that currently this relies on the special knowledge that libstd has;
|
||||
// these types are single-element structs but are not marked repr(transparent)
|
||||
// or repr(C) which would make these casts allowable outside std.
|
||||
fn os_str_as_u8_slice(s: &OsStr) -> &[u8] {
|
||||
unsafe { &*(s as *const OsStr as *const [u8]) }
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue