zucchero 1.0.0

Minimal macro for globally shared, type-safe singleton
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
#[derive(Clone, Default, Debug)]
struct State {
    answer: usize,
}

zucchero::init!(State, expose);

fn main() {
    expose(|state| state.answer = 42);

    let state = expose(|state| state.clone());
    println!("{state:?}");
}