]>
Commit | Line | Data |
---|---|---|
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 | 15 | fn 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 | } |