11个重大版本发布
0.14.0 | 2024年7月18日 |
---|---|
0.11.0 | 2024年7月8日 |
#9 在 #holder
872 每月下载量
在 holder 中使用
9KB
149 行
holder
使用holder trait实现getter setter auto gen
示例
use holder::{Holder, Holdable};
#[derive(Holder)]
struct Wrapper {
#[hold]
value: Token
}
#[derive(Holdable)]
struct Token(u32);
#[test]
fn holder_test() {
let mut wrapper = Wrapper { value: Token(123) };
let token: &Token = wrapper.token();
let token_mut: &mut Token = wrapper.token_mut();
}
fn holder_test_2<T: TokenHolder>(mut holder: T) {
*holder.token_mut() = Token(123);
}
依赖
~0.8–1.3MB
~25K SLoC