use setting_tracker::Setting;
#[derive(Default, Debug)]
struct Settings {
port: Setting<u16>,
domain: Setting<String>,
}
fn main() {
let mut settings = Settings::default(); // equivalent of `Settings { port: 0, domain: "".to_string() }`
settings
.port
.cb(|old, new| println!("port: {:?} -> {:?}", old, new));
settings.port.set(1);
settings.port.set(10);
let _ = settings.domain.get();
let _ = settings.domain.as_ref();
}
/*
Output:
port: 0 -> 1
port: 1 -> 10
*/