diff options
Diffstat (limited to 'tests/ui/consts/const-eval/infinite_loop.rs')
-rw-r--r-- | tests/ui/consts/const-eval/infinite_loop.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/ui/consts/const-eval/infinite_loop.rs b/tests/ui/consts/const-eval/infinite_loop.rs new file mode 100644 index 000000000..4babc9a28 --- /dev/null +++ b/tests/ui/consts/const-eval/infinite_loop.rs @@ -0,0 +1,12 @@ +fn main() { + // Tests the Collatz conjecture with an incorrect base case (0 instead of 1). + // The value of `n` will loop indefinitely (4 - 2 - 1 - 4). + let _ = [(); { + let mut n = 113383; // #20 in https://oeis.org/A006884 + while n != 0 { + //~^ ERROR evaluation of constant value failed + n = if n % 2 == 0 { n/2 } else { 3*n + 1 }; + } + n + }]; +} |