#type-name #intrinsic #migrate

typename

Stable alternative to Rust's type_name intrinsic

3 releases

Uses old Rust 2015

0.1.2 Nov 26, 2019
0.1.1 Apr 19, 2019
0.1.0 Dec 4, 2017

#750 in Rust patterns

Download history 1606/week @ 2022-08-14 922/week @ 2022-08-21 183/week @ 2022-08-28 172/week @ 2022-09-04 198/week @ 2022-09-11 239/week @ 2022-09-18 177/week @ 2022-09-25 268/week @ 2022-10-02 193/week @ 2022-10-09 155/week @ 2022-10-16 198/week @ 2022-10-23 180/week @ 2022-10-30 225/week @ 2022-11-06 196/week @ 2022-11-13 158/week @ 2022-11-20 102/week @ 2022-11-27

702 downloads per month
Used in 3 crates

MIT/Apache

19KB
280 lines

typename

Build Status Latest Version Documentation

A compatible, safe and stable alternative to Rust's std::intrinsics::type_name intrinsic.

DEPRECATION NOTICE: This crate has been deprecated. The type_name intrinsic has been stablized in Rust 1.38. Users of this crate are asked to migrate to std::any::type_name.

Example

extern crate typename;

use typename::TypeName;

fn main() {
    assert_eq!(String::type_name(), "std::string::String");
    assert_eq!(Vec::<i32>::type_name(), "std::vec::Vec<i32>");
    assert_eq!([0, 1, 2].type_name_of(), "[i32; 3]");
}

Contribute

typename is part of the Strymon project:

License

typename is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.

Dependencies

~92KB