Trait std::marker::Unsize [] [src]

#[lang = "unsize"]
pub trait Unsize<T> where
    T: ?Sized
{ }
🔬 This is a nightly-only experimental API. (unsize #27732)

Types that can be "unsized" to a dynamically-sized type.

For example, the sized array type [i8; 2] implements Unsize<[i8]> and Unsize<fmt::Debug>.

All implementations of Unsize are provided automatically by the compiler.

Unsize is implemented for:

Unsize is used along with ops::CoerceUnsized to allow "user-defined" containers such as rc::Rc to contain dynamically-sized types. See the DST coercion RFC and the nomicon entry on coercion for more details.

Implementors