大昔に踏んだやつだ……
スマートポインタとの変換 - 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)] であるという性質自体はライブラリとして保証したくないため、現時点ではコンパイラ実装の詳細に依存しておくとのことである。
https://github.com/rust-lang/rust/blob/1.48.0/library/std/src/ffi/c_str.rs#L191-L193
たぶん似たような UB を仕込む人が沢山いて……みたいな経緯があったのだろうなぁ