]> git.proxmox.com Git - rustc.git/blob - src/test/run-pass/linear-for-loop.rs
Imported Upstream version 1.2.0+dfsg1
[rustc.git] / src / test / run-pass / linear-for-loop.rs
1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // no-pretty-expanded FIXME #15189
12
13 pub fn main() {
14 let x = vec!(1, 2, 3);
15 let mut y = 0;
16 for i in &x { println!("{}", *i); y += *i; }
17 println!("{}", y);
18 assert_eq!(y, 6);
19 let s = "hello there".to_string();
20 let mut i: isize = 0;
21 for c in s.bytes() {
22 if i == 0 { assert_eq!(c, 'h' as u8); }
23 if i == 1 { assert_eq!(c, 'e' as u8); }
24 if i == 2 { assert_eq!(c, 'l' as u8); }
25 if i == 3 { assert_eq!(c, 'l' as u8); }
26 if i == 4 { assert_eq!(c, 'o' as u8); }
27 // ...
28
29 i += 1;
30 println!("{}", i);
31 println!("{}", c);
32 }
33 assert_eq!(i, 11);
34 }