【文件属性】:
文件名称:在 Rust 中实现简单派生宏的可复制指南。
文件大小:6KB
文件格式:ZIP
更新时间:2021-06-28 19:37:37
rust-derive-macro-guide
#[派生(MyTrait)]在 Rust 中实现简单派生宏的可复制指南。目标假设我们有一个 getter 特性traitMyTrait {fnanswer () ->i32 {42
}
}我们希望能够导出它并初始化 getter#[derive(MyTrait)]structFoo ;
#[derive(MyTrait)]
#[my_trait(answer = 0)]structBar ;
#[test]fndefault () {assert_eq! (Foo::answer (),42 );
}
#[test]fngetter () {assert_eq! (Bar::answer (),0 );
}所以这些派生将扩展为implMyTraitforFoo {}implMyTraitforBar {fnanswer () ->i32 {0
}
}步骤 0:先决条件安装 Cargo 扩展工具cargo install cargo-edit
cargo install cargo-expand第 1 步:宏的单独板条箱Proc 宏应该放
【文件预览】:
rust-derive-macro-guide-main
----Cargo.toml(266B)
----Cargo.lock(2KB)
----mytrait-derive()
--------Cargo.toml(246B)
--------Cargo.lock(2KB)
--------src()
----src()
--------lib.rs(298B)
----README.md(4KB)
----.gitignore(8B)