structural-typing 0.1.9

Type-level field presence tracking for Rust structs, inspired by TypeScript
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use structural_typing::structural;

#[structural]
struct Inner {
    data: String,
}

#[structural]
struct Outer<I: inner::Fields> {
    id: u64,
    #[nested(inner:)]
    inner: Inner<I>,
}

fn main() {}