aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/linear-for-loop.rs
blob: c816f817225dd11fc0fcb9a2e75c0a3848dbd8cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
fn main() {
  auto x = vec(1,2,3);
  auto y = 0;
  for (int i in x) {
    log i;
    y += i;
  }
  log y;
  assert (y == 6);

  auto s = "hello there";
  let int i = 0;
  for (u8 c in s) {
    if (i == 0) {
      assert (c == ('h' as u8));
    }
    if (i == 1) {
      assert (c == ('e' as u8));
    }
    if (i == 2) {
      assert (c == ('l' as u8));
    }
    if (i == 3) {
      assert (c == ('l' as u8));
    }
    if (i == 4) {
      assert (c == ('o' as u8));
    }
    // ...
    i += 1;
    log i;
    log c;
  }
  assert (i == 11);
}