1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
pub fn type_of_var<T>(_: T) -> &'static str { std::any::type_name::<T>() } #[cfg(test)] mod tests { use crate::type_of_var; #[test] fn it_works() { assert_eq!("i32", type_of_var(10)); assert_eq!("i32", type_of_var(12)); assert_eq!("i32", type_of_var(15)); assert_eq!("i32", type_of_var(13)); assert_eq!("i32", type_of_var(333)); assert_eq!("f64", type_of_var(15.2)); assert_eq!("f64", type_of_var(12.5)); assert_eq!("f64", type_of_var(3.5)); assert_eq!("f64", type_of_var(3.6)); assert_eq!("f64", type_of_var(7.5)); assert_eq!("&str", type_of_var("Draw")); assert_eq!("&str", type_of_var("cross")); assert_eq!("&str", type_of_var("pattern")); assert_eq!("&str", type_of_var("hot")); } }