我想使用一个使用属性的自定义派生宏。对于 Rust 2015,我写道:
#[macro_use]
extern crate pest_derive;
#[derive(Parser)]
#[grammar = "grammar.pest"]
pub struct MyParser;
使用edition = '2018'
,extern crate
已弃用,因此macro_use
不可用。我以为我会写use pest_derive::{grammar,derive_parser};
,但我必须写use pest_derive::*;
。
如何避免全局导入?Pest_derive crate 的代码非常简单,我不知道有什么必要的东西*
导入不是derive_parser
or grammar
。
error[E0658]: The attribute `grammar` is currently unknown to the compiler and
may have meaning added to it in the future (see issue #29642)
--> src/parser/mod.rs:10:3
|
10 | #[grammar = "rst.pest"]
| ^^^^^^^