The kind traits

Rust types can be classified in various useful ways according to intrinsic properties of the type. These classifications, often called 'kinds', are represented as traits.

They cannot be implemented by user code, but are instead implemented by the compiler automatically for the types to which they apply.

Trait Freeze

Types that are either immutable or have inherited mutability.

Trait Send

Types able to be transferred across task boundaries.

Trait Sized

Types with a constant size known at compile-time.