type-state-builder 0.5.1

Type-state builder pattern derive macro with compile-time safety and enhanced ergonomics.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use type_state_builder::TypeStateBuilder;

#[test]
fn test_simple_const_generic() {
    #[derive(TypeStateBuilder, Debug, PartialEq)]
    struct SimpleConstGeneric<const N: usize> {
        #[builder(required)]
        data: [i32; N],
    }

    let instance = SimpleConstGeneric::<3>::builder().data([1, 2, 3]).build();

    assert_eq!(instance.data, [1, 2, 3]);
}