2 Checks for diverging calls that are not match arms or
6 It is often confusing to read. In addition, the
7 sub-expression evaluation order for Rust is not well documented.
10 Someone might want to use `some_bool || panic!()` as a
15 let a = b() || panic!() || c();
16 // `c()` is dead, `panic!()` is only called if `b()` returns `false`
17 let x = (a, b, c, panic!());
18 // can simply be replaced by `panic!()`