library/
patterns.rs

1use log::info;
2
3enum Message {
4    Hello { val: i32, id: i32 },
5}
6
7pub fn pattern_test() {
8    let msg = Message::Hello { val: 15, id: 1 };
9    match msg {
10        Message::Hello {
11            val: val_test @ 1..=12,
12            id,
13        } if id > 0 && val_test != id => info!("1..=12: val = {}, id = {}", val_test, id),
14        Message::Hello { val: 13, id: x } => info!("13, {}", x),
15        Message::Hello { val: val_test, .. } => info!("val_test: {}", val_test),
16    }
17}