# Types

Rust provides several mechanisms to change or define the type of primitive and
user defined types. The following sections cover:

* [Casting] between primitive types
* Specifying the desired type of [literals]
* Using [type inference]
* [Aliasing] types

[Casting]: types/cast.md
[literals]: types/literals.md
[type inference]: types/inference.md
[Aliasing]: types/alias.md
