]> git.lizzy.rs Git - rust.git/blob - src/tools/miri/tests/pass/loops.rs
Add 'src/tools/miri/' from commit '75dd959a3a40eb5b4574f8d2e23aa6efbeb33573'
[rust.git] / src / tools / miri / tests / pass / loops.rs
1 fn factorial_loop() -> i64 {
2     let mut product = 1;
3     let mut i = 1;
4
5     while i <= 10 {
6         product *= i;
7         i += 1;
8     }
9
10     product
11 }
12
13 fn index_for_loop() -> usize {
14     let mut sum = 0;
15     let a = [0, 10, 20, 30];
16     for i in 0..a.len() {
17         sum += a[i];
18     }
19     sum
20 }
21
22 fn for_loop() -> usize {
23     let mut sum = 0;
24     let a = [0, 10, 20, 30];
25     for &n in &a {
26         sum += n;
27     }
28     sum
29 }
30
31 fn main() {
32     assert_eq!(factorial_loop(), 3628800);
33     assert_eq!(index_for_loop(), 60);
34     assert_eq!(for_loop(), 60);
35 }