Pseudónimos
A declaração type
pode ser usada para dar um novo nome à um tipo existente. Os tipos devem ter nomes com o seguinte padrão UpperCamelCase
, ou o compilador levantará um aviso. As exceções à esta regra são os tipos primitivos: usize
, f32
, etc.
// `NanoSecond`, `Inch`, e `U64` são novos nomes para `u64`. type NanoSecond = u64; type Inch = u64; type U64 = u64; fn main() { // `NanoSecond` = `Inch` = `U64` = `u64`. let nanoseconds: NanoSecond = 5 as U64; let inches: Inch = 2 as U64; // Nota que os pseudónimos de tipo *não* fornecem qualquer segurança de // tipo adicional, porque os pseudónimos *não* são novos tipos println!("{} nanoseconds + {} inches = {} unit?", nanoseconds, inches, nanoseconds + inches); }
O uso principal de pseudónimos é reduzir a complexidade; por exemplo o tipo io::Result<T>
é um pseudónimo para o tipo Result<T, io::Error>
.