readme/readme.rs
1use setting_tracker::Setting;
2
3#[derive(Default, Debug)]
4struct Settings {
5 port: Setting<u16>,
6 domain: Setting<String>,
7}
8fn main() {
9 let mut settings = Settings::default(); // equivalent of `Settings { port: 0, domain: "".to_string() }`
10 settings
11 .port
12 .cb(|old, new| println!("port: {:?} -> {:?}", old, new));
13 settings.port.set(1);
14 settings.port.set(10);
15 let _ = settings.domain.get();
16 let _ = settings.domain.as_ref();
17}
18
19/*
20Output:
21 port: 0 -> 1
22 port: 1 -> 10
23 */