The nomicon says:
repr(transparent)
[...] This repr is only considered part of the public ABI of a type if either the single field is pub, or if its layout is documented in prose. Otherwise, the layout should not be relied upon by other crates.
ManuallyDrop<T> is repr(transparent), but its single field is not pub. Its docs say:
[...] This wrapper is 0-cost.
ManuallyDrop<T>is subject to the same layout optimizations asT. [...]
Does this count as documenting its layout in the prose? Is it safe to assume that I can transmute or otherwise convert (e.g. pointer cast) from T to ManuallyDrop<T>?