]> git.proxmox.com Git - rustc.git/blame - 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
CommitLineData
223e47cc
LB
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
1a4d82fc
JJ
11// no-pretty-expanded FIXME #15189
12
223e47cc 13pub fn main() {
85aaf69f
SL
14 let x = vec!(1, 2, 3);
15 let mut y = 0;
16 for i in &x { println!("{}", *i); y += *i; }
1a4d82fc 17 println!("{}", y);
970d7e83 18 assert_eq!(y, 6);
1a4d82fc 19 let s = "hello there".to_string();
c34b1796 20 let mut i: isize = 0;
85aaf69f 21 for c in s.bytes() {
62682a34
SL
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); }
223e47cc
LB
27 // ...
28
29 i += 1;
1a4d82fc
JJ
30 println!("{}", i);
31 println!("{}", c);
223e47cc 32 }
970d7e83 33 assert_eq!(i, 11);
223e47cc 34}