是否可以编写宏来生成基于通用名称的N枚举变体?

时间:2017-07-15 15:49:51

标签: macros rust

我想写一个形状为宏的宏:

macro_rules! build {
    ($name:ident, $mask:ty, $end:expr)  => {
        enum $name<K, V {
            //???
        }
    };
}

这样当使用:

调用时
build! {
    Node, u64, 64
}

它扩展为:

enum Node<K, V> {
    Node1(u64, Box<[Node<K, V>; 1]>),
    Node2(u64, Box<[Node<K, V>; 2]>),
    // ...
    Node64(u64, Box<[Node<K, V>; 64]>),
}

这可以用macro_rules吗?

0 个答案:

没有答案