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