13个版本
使用旧的Rust 2015
0.0.14 | 2019年12月10日 |
---|---|
0.0.13 | 2019年6月12日 |
0.0.12 | 2018年9月11日 |
0.0.11 | 2018年4月9日 |
0.0.2 | 2016年12月31日 |
#9 in #setters
23 每月下载
在 5 个crate中使用 (via telebot)
18KB
304 行
#[derive(accessors)]
: Rust的获取器和设置器(WIP)
这是一个正在进行中的项目! API可能会更改。
我们使用nightly Rust中的新宏1.1支持来自动生成基本的获取器和设置器。如果您有一个导出具有许多字段的结构的库,但不想使这些字段公开,这很有用。
如果您指定 #[setters(into)]
,您可以生成使用 Into
自动转换为所需类型的设置器。
#![feature(proc_macro)]
#[macro_use]
extern crate accessors;
#[derive(getters, setters)]
#[setters(into)]
struct Simple {
field: String,
}
fn main() {
let mut s = Simple { field: "hello".to_owned() };
println!("{}", s.field());
s.set_field("there");
}
目前,您只能使用nightly Rust,但David Tolnay已经制定了一个如何使其与稳定Rust一起工作的路线图。
依赖项
~2MB
~43K SLoC