[−][src]Trait core::marker::Unsize  
Types that can be "unsized" to a dynamically-sized type.
For example, the sized array type [i8; 2] implements Unsize<[i8]> and
Unsize<dyn fmt::Debug>.
All implementations of Unsize are provided automatically by the compiler.
Unsize is implemented for:
- [T; N]is- Unsize<[T]>
- Tis- Unsize<dyn Trait>when- T: Trait
- Foo<..., T, ...>is- Unsize<Foo<..., U, ...>>if:- T: Unsize<U>
- Foo is a struct
- Only the last field of Foohas a type involvingT
- Tis not part of the type of any other fields
- Bar<T>: Unsize<Bar<U>>, if the last field of- Foohas type- Bar<T>
 
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.