2 releases
Uses new Rust 2024
0.3.1 | Mar 7, 2025 |
---|---|
0.3.0 | Mar 6, 2025 |
#404 in Procedural macros
265 downloads per month
10KB
58 lines
A Rust library that allows you to represent the structure as an array.
Library works only with named structs whose fields have the same type.
Examples
Basic usage:
use struct_as_array2::*;
#[derive(AsArray)]
struct TestStruct {
t1: i32,
t2: i32,
t3: i32,
}
let t = TestStruct {
t1: 0,
t2: 1,
t3: 2,
};
// Represent as array of reference
assert_eq!(t.as_array(), [&0, &1, &2]);
// Convert struct to array
assert_eq!(t.to_array(), [0, 1, 2]);
Using as an iterator:
use struct_as_array2::*;
#[derive(AsArray)]
struct TestStruct {
t1: i32,
t2: i32,
t3: i32,
}
let t = TestStruct {
t1: 0,
t2: 1,
t3: 2,
};
for i in t.as_array() {
println!("{}", i);
}
Dependencies
~205–640KB
~15K SLoC