Rust string types with a defined #[repr(C)] layout, albeit not char * compatible (fat pointers).
Rust
#[repr(C)]
char *
alloc
Same as String, but with guaranteed #[repr(C)] layout
String
Same as Box<str>, but with a guaranteed #[repr(C)] layout.
Box
<str>
&'lt str, but with a guaranteed #[repr(C)] layout.
&'lt str