]> git.lizzy.rs Git - rust.git/blob - tests/ui/let-else/let-else-non-diverging.rs
Don't resolve type var roots in point_at_expr_source_of_inferred_type
[rust.git] / tests / ui / let-else / let-else-non-diverging.rs
1 fn main() {
2     let Some(x) = Some(1) else { //~ ERROR does not diverge
3         Some(2)
4     };
5     let Some(x) = Some(1) else { //~ ERROR does not diverge
6         if 1 == 1 {
7             panic!();
8         }
9     };
10     let Some(x) = Some(1) else { Some(2) }; //~ ERROR does not diverge
11
12     // Ensure that uninhabited types do not "diverge".
13     // This might be relaxed in the future, but when it is,
14     // it should be an explicitly wanted decision.
15     let Some(x) = Some(1) else { foo::<Uninhabited>() }; //~ ERROR does not diverge
16 }
17
18 enum Uninhabited {}
19
20 fn foo<T>() -> T {
21     panic!()
22 }