1 个不稳定版本
0.1.1 | 2020年5月25日 |
---|---|
0.1.0 |
|
#6 in #turning
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