Program To Demonstrate The 'Into' Trait
Rust Programming Language
Problem
In this program, we will demonstrate the "into" trait, and, convert the variable of i32 type into a complex type structure.
Input
// Rust program to demonstrate the "into" traitfn TypeOf<T>(_: &T) {println!("{}", std::any::type_name::<T>())}#[derive(Debug)]struct NumStruct {num: i32,}impl From<i32> for NumStruct {fn from(item: i32) -> Self {NumStruct { num: item }}}fn main(){let intVar = 5;let num: NumStruct = intVar.into();print!("intVar {:?}, Type: ", intVar);TypeOf(&intVar);print!("num {:?}, Type: ", num);TypeOf(&num);}{codeBox}
Output
intVar 5, Type: i32num NumStruct { num: 5 }, Type: main::NumStruct{codeBox}
Explanation
Here, we created a variable intVar of i32 type. Then we created another variable num using "into" trait using existing variable intVar. After that, we printed the value of variables and their data type.