【发布时间】:2016-09-02 03:46:25
【问题描述】:
我想编写一个可以分解路径以操作其组件的宏。例如:
macro_rules! example {
($path:path) => {
vec![
stringify!(get_path_init!($path)),
stringify!(get_path_last!($path)),
]
};
}
fn main() {
let path_parts = example!(std::vec::Vec);
assert_eq!(path_parts, vec!["std::vec", "Vec"]);
}
在标准库或任何相当流行的 crate 中是否存在类似的东西,是否可以使用宏来实现?还是需要编译器插件?
【问题讨论】: