#getter-setter #traits #auto #gen

holder

使用 holder trait 的 getter, setter, auto, gen

11 个重大版本

0.14.0 2024年7月18日
0.11.0 2024年7月8日

#1367 in Rust 模式

Download history 495/week @ 2024-07-05 140/week @ 2024-07-12 20/week @ 2024-07-19 101/week @ 2024-07-26 7/week @ 2024-08-02

每月 284 次下载

MIT 许可证

3KB

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