May 2019
Intermediate to advanced
698 pages
17h 21m
English
Casting is a mechanism of downgrading or upgrading a type to some other type. When the casting happens implicitly, it is called coercion. Rust also allows for casting types at various levels. The very obvious candidates are primitive numeric types. You may have the need to cast a u8 type to promote to u64 or to truncate i64 to i32. To perform trivial casts, we use the as keyword, like so:
let a = 34u8;let b = a as u64;
It's not only primitive types—casting is supported at higher-level types too. We can also cast a reference of a type to its trait object, if it implements that particular trait. So we can do something like the following:
// cast_trait_object.rsuse std::fmt::Display;fn show_me(item: &Display) { println!("{}", ...Read now
Unlock full access