1
use ron::Number;
2

            
3
#[test]
4
4
fn exhaustive_number_match() {
5
4
    match Number::U8(42) {
6
        Number::I8(v) => println!("{v}"),
7
        Number::I16(v) => println!("{v}"),
8
        Number::I32(v) => println!("{v}"),
9
        Number::I64(v) => println!("{v}"),
10
        #[cfg(feature = "integer128")]
11
        Number::I128(v) => println!("{v}"),
12
4
        Number::U8(v) => println!("{v}"),
13
        Number::U16(v) => println!("{v}"),
14
        Number::U32(v) => println!("{v}"),
15
        Number::U64(v) => println!("{v}"),
16
        #[cfg(feature = "integer128")]
17
        Number::U128(v) => println!("{v}"),
18
        Number::F32(v) => println!("{}", v.0),
19
        Number::F64(v) => println!("{}", v.0),
20
        #[cfg(not(doc))]
21
        Number::__NonExhaustive(never) => match never {},
22
    }
23
4
}
24

            
25
#[test]
26
4
fn non_exhaustive_number_match() {
27
4
    match Number::U8(42) {
28
        Number::I8(v) => println!("{v}"),
29
        Number::I16(v) => println!("{v}"),
30
        Number::I32(v) => println!("{v}"),
31
        Number::I64(v) => println!("{v}"),
32
4
        Number::U8(v) => println!("{v}"),
33
        Number::U16(v) => println!("{v}"),
34
        Number::U32(v) => println!("{v}"),
35
        Number::U64(v) => println!("{v}"),
36
        Number::F32(v) => println!("{}", v.0),
37
        Number::F64(v) => println!("{}", v.0),
38
        v => println!("{v:?}"),
39
    }
40
4
}