|  | //! This test tests two things at once: | 
|  | //! 1. we error if a const evaluation hits the deny-by-default lint limit | 
|  | //! 2. we do not ICE on invalid follow-up code | 
|  | //! 3. no ICE when run with `-Z unstable-options` (issue 122177) | 
|  |  | 
|  | //@revisions: eval_limit no_ice | 
|  | //@[no_ice] compile-flags: -Z tiny-const-eval-limit -Z unstable-options | 
|  | //@[eval_limit] compile-flags: -Z tiny-const-eval-limit | 
|  |  | 
|  | 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 s = [(); { | 
|  | let mut n = 113383; // #20 in https://oeis.org/A006884 | 
|  | while n != 0 { | 
|  | //~^ ERROR is taking a long time | 
|  | n = if n % 2 == 0 { n / 2 } else { 3 * n + 1 }; | 
|  | } | 
|  | n | 
|  | }]; | 
|  |  | 
|  | s.nonexistent_method(); | 
|  | } |