]> git.proxmox.com Git - rustc.git/blame - src/test/run-pass/slice-2.rs
Imported Upstream version 1.0.0~beta
[rustc.git] / src / test / run-pass / slice-2.rs
CommitLineData
1a4d82fc
JJ
1// Copyright 2014 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// Test slicing expressions on slices and Vecs.
12
c34b1796
AL
13// pretty-expanded FIXME #23616
14
1a4d82fc 15fn main() {
c34b1796
AL
16 let x: &[isize] = &[1, 2, 3, 4, 5];
17 let cmp: &[isize] = &[1, 2, 3, 4, 5];
85aaf69f 18 assert!(&x[..] == cmp);
c34b1796 19 let cmp: &[isize] = &[3, 4, 5];
1a4d82fc 20 assert!(&x[2..] == cmp);
c34b1796 21 let cmp: &[isize] = &[1, 2, 3];
85aaf69f 22 assert!(&x[..3] == cmp);
c34b1796 23 let cmp: &[isize] = &[2, 3, 4];
1a4d82fc
JJ
24 assert!(&x[1..4] == cmp);
25
c34b1796
AL
26 let x: Vec<isize> = vec![1, 2, 3, 4, 5];
27 let cmp: &[isize] = &[1, 2, 3, 4, 5];
85aaf69f 28 assert!(&x[..] == cmp);
c34b1796 29 let cmp: &[isize] = &[3, 4, 5];
1a4d82fc 30 assert!(&x[2..] == cmp);
c34b1796 31 let cmp: &[isize] = &[1, 2, 3];
85aaf69f 32 assert!(&x[..3] == cmp);
c34b1796 33 let cmp: &[isize] = &[2, 3, 4];
1a4d82fc
JJ
34 assert!(&x[1..4] == cmp);
35
c34b1796 36 let x: &mut [isize] = &mut [1, 2, 3, 4, 5];
1a4d82fc 37 {
c34b1796 38 let cmp: &mut [isize] = &mut [1, 2, 3, 4, 5];
85aaf69f 39 assert!(&mut x[..] == cmp);
1a4d82fc
JJ
40 }
41 {
c34b1796 42 let cmp: &mut [isize] = &mut [3, 4, 5];
1a4d82fc
JJ
43 assert!(&mut x[2..] == cmp);
44 }
45 {
c34b1796 46 let cmp: &mut [isize] = &mut [1, 2, 3];
1a4d82fc
JJ
47 assert!(&mut x[..3] == cmp);
48 }
49 {
c34b1796 50 let cmp: &mut [isize] = &mut [2, 3, 4];
1a4d82fc
JJ
51 assert!(&mut x[1..4] == cmp);
52 }
53
c34b1796 54 let mut x: Vec<isize> = vec![1, 2, 3, 4, 5];
1a4d82fc 55 {
c34b1796 56 let cmp: &mut [isize] = &mut [1, 2, 3, 4, 5];
85aaf69f 57 assert!(&mut x[..] == cmp);
1a4d82fc
JJ
58 }
59 {
c34b1796 60 let cmp: &mut [isize] = &mut [3, 4, 5];
1a4d82fc
JJ
61 assert!(&mut x[2..] == cmp);
62 }
63 {
c34b1796 64 let cmp: &mut [isize] = &mut [1, 2, 3];
1a4d82fc
JJ
65 assert!(&mut x[..3] == cmp);
66 }
67 {
c34b1796 68 let cmp: &mut [isize] = &mut [2, 3, 4];
1a4d82fc
JJ
69 assert!(&mut x[1..4] == cmp);
70 }
71}