]> git.proxmox.com Git - rustc.git/blob - src/test/ui/let-else/let-else-non-diverging.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / 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 }