10 个版本
0.1.8 | 2024 年 6 月 2 日 |
---|---|
0.1.7 | 2024 年 5 月 2 日 |
0.1.6 | 2024 年 4 月 2 日 |
0.1.5 | 2024 年 3 月 1 日 |
0.0.1 | 2023 年 10 月 16 日 |
445 在 数据结构 中
674 每月下载量
在 2 个 crate 中使用 (通过 lcax_convert)
31KB
326 行
field_access
一个支持 #![no_std]
的库,用于动态访问结构体字段。
通过同名的 derive 宏实现 FieldAccess
trait 来启用字段访问。
use field_access::FieldAccess;
#[derive(FieldAccess)]
struct Foo {
a: u8
}
let mut foo = Foo { a: 1 };
// Immutable field access.
if let Some(field) = foo.field("a") {
assert_eq!(field.as_u8(), Some(1));
}
// Mutable field access.
if let Some(mut field) = foo.field_mut("a") {
assert_eq!(field.replace(42u8), Some(1));
}
assert_eq!(foo.a, 42);
Cargo 功能
alloc
: 提供与 Rust 核心分配和集合库中类型交互的方法,包括String
和Vec<T>
。此功能将alloc
库作为依赖项并默认启用。derive
: 提供用于FieldAccess
trait 的 derive 宏。此功能默认启用。
许可证
field_access 的源代码根据您的选择在 Apache License,版本 2.0 或 MIT 许可证 下许可。
依赖项
~110KB