]> git.proxmox.com Git - rustc.git/blob - src/test/ui/consts/const-eval/infinite_loop.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / src / test / ui / consts / const-eval / infinite_loop.rs
1 fn main() {
2 // Tests the Collatz conjecture with an incorrect base case (0 instead of 1).
3 // The value of `n` will loop indefinitely (4 - 2 - 1 - 4).
4 let _ = [(); {
5 //~^ WARNING Constant evaluating a complex constant, this might take some time
6 let mut n = 113383; // #20 in https://oeis.org/A006884
7 while n != 0 {
8 //~^ ERROR `while` is not allowed in a `const`
9 n = if n % 2 == 0 { n/2 } else { 3*n + 1 };
10 //~^ ERROR evaluation of constant value failed
11 //~| ERROR `if` is not allowed in a `const`
12 }
13 n
14 }];
15 }