Rust program to demonstrate the 'into' trait


Program To Demonstrate The 'Into' Trait

Rust Programming Language


Program To Demonstrate The 'Into' Trait


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" trait

fn 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: i32
num 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.


Post a Comment