【发布时间】:2022-01-19 23:59:06
【问题描述】:
是否可以在 Rust 中创建新的关键字作为另一个关键字的别名?
例如,创建指向fn 的关键字fun 并将其用作fn:
// somehow alias `fun` to `fn`
fun main() {
println!("Hello, world!")
}
如果可能,如何实现?
【问题讨论】:
标签: rust metaprogramming keyword
是否可以在 Rust 中创建新的关键字作为另一个关键字的别名?
例如,创建指向fn 的关键字fun 并将其用作fn:
// somehow alias `fun` to `fn`
fun main() {
println!("Hello, world!")
}
如果可能,如何实现?
【问题讨论】:
标签: rust metaprogramming keyword
如果您正在寻找 C 的 #define 的替代品,那么没有任何东西可以让任意词用作关键字(这可能是件好事)。
如果你想给一个类型起别名,Rust 有 type,它可以用来将 i64 重命名为 int,例如:type int = i64;。
【讨论】:
其实你可以通过过程宏来做到这一点,因为它只是“字符串转换”。
你不能使用 crate dtolnay/syn 来简化工作。
【讨论】: