typeof/
lib.rs

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