我知道 $crate
变量是什么,但据我所知,它不能在过程宏中使用。有没有其他方法可以实现类似的效果?
我有一个示例,大致需要我使用 quote 和 Rust 夜版写出类似以下的内容。
quote!(
struct Foo {
bar: [SomeTrait;#len]
}
)
我需要确保SomeTrait
在范围内(#len
引用了片段范围外的整数)。
我正在使用基于quote
和syn
的过程宏2.0,因为proc-macro-hack
对我没有起作用。这是我尝试推广的示例。
[SomeTrait; #len]
这样的写法是不可行的,因为[T; n]
要求T: Sized
。请参考 https://play.rust-lang.org/?gist=bb33e5ba42a7e64af998b014483329f0。您能澄清一下预期的结果吗? - dtolnay