スマートポインタとの変換 - Rustで独自のスライス型を定義する本
https://lo48576.gitlab.io/rust-custom-slice-book/implementing-traits/from/smartptr.html#%E6%A8%99%E6%BA%96%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE-unsafe-%E3%81%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E7%9C%9F%E4%BC%BC%E3%81%AB%E3%81%AF%E6%B3%A8%E6%84%8F
> たとえば Rust 1.48.0 時点での std::ffi::CStr の定義についてのコメントでは、 #[repr(transparent)] の指定がない理由が述べられている。 #[repr(transparent)] があれば &CStr から Box<CStr> への変換が明らかに安全になるが、 #[repr(transparent)] であるという性質自体はライブラリとして保証したくないため、現時点ではコンパイラ実装の詳細に依存しておくとのことである。