Trait std::marker::Sized [] [src]

pub trait Sized { }

Types with a constant size known at compile-time.

All type parameters which can be bounded have an implicit bound of Sized. The special syntax ?Sized can be used to remove this bound if it is not appropriate.

fn main() { #![allow(dead_code)] struct Foo<T>(T); struct Bar<T: ?Sized>(T); // struct FooUse(Foo<[i32]>); // error: Sized is not implemented for [i32] struct BarUse(Bar<[i32]>); // OK }
struct Foo<T>(T);
struct Bar<T: ?Sized>(T);

// struct FooUse(Foo<[i32]>); // error: Sized is not implemented for [i32]
struct BarUse(Bar<[i32]>); // OK

Implementors