#identifier #turning #tokens #identify #macro #proc-macro #deterministically

tt-identifier

将任意Rust标记符号确定性地转换为标识符的宏

1 个不稳定版本

0.1.1 2020年5月25日
0.1.0 2020年5月25日

#6 in #turning

MIT 许可证

3KB

tt-identifier

将任意Rust标记符号确定性地转换为标识符的宏

用法

#![feature(proc_macro_hygiene)]
use tt_identifier::{identify, identify_string};

#[test]
fn it_works() {
    // Test that the identifier can be used in declarations & expressions.
    let identify!(Foo<Bar<(u64, u64)>>) = 2;
    assert_eq!(
        identify!(Foo<Bar<(u64, u64)>>) + identify!(Foo<Bar<(u64, u64)>>),
        4
    );
    // Test that the string equivalent doesn't throw an error.
    let s: &str = identify_string!(Foo<Bar<(u64, u64)>>);
    assert_eq!(s, identify_string!(Foo<Bar<(u64, u64)>>));
}

lib.rs:

将输入转换为可用于Rust标识符的东西。与identify相同,但输出字符串而不是标识符。

依赖关系

~2MB
~45K SLoC