ephemeropt 0.3.0

An ephemeral Option that reverts to None after some time
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use ephemeropt::EphemeralOption;

fn main() {
    let mut num_opt = EphemeralOption::new(0, std::time::Duration::from_secs(1));
    loop {
        match num_opt.get() {
            Some(&num) => println!("{num}"),
            None => {
                let prev_num = num_opt.get_expired().unwrap();
                let num = num_opt.insert(prev_num + 1);
                println!("{num}");
            }
        }
        std::thread::sleep(std::time::Duration::from_millis(500));
    }
}