]> git.proxmox.com Git - rustc.git/blob - src/test/ui/array-slice-vec/slice-2.rs
New upstream version 1.38.0+dfsg1
[rustc.git] / src / test / ui / array-slice-vec / slice-2.rs
1 // run-pass
2
3 // Test slicing expressions on slices and Vecs.
4
5
6 fn main() {
7 let x: &[isize] = &[1, 2, 3, 4, 5];
8 let cmp: &[isize] = &[1, 2, 3, 4, 5];
9 assert_eq!(&x[..], cmp);
10 let cmp: &[isize] = &[3, 4, 5];
11 assert_eq!(&x[2..], cmp);
12 let cmp: &[isize] = &[1, 2, 3];
13 assert_eq!(&x[..3], cmp);
14 let cmp: &[isize] = &[2, 3, 4];
15 assert_eq!(&x[1..4], cmp);
16
17 let x: Vec<isize> = vec![1, 2, 3, 4, 5];
18 let cmp: &[isize] = &[1, 2, 3, 4, 5];
19 assert_eq!(&x[..], cmp);
20 let cmp: &[isize] = &[3, 4, 5];
21 assert_eq!(&x[2..], cmp);
22 let cmp: &[isize] = &[1, 2, 3];
23 assert_eq!(&x[..3], cmp);
24 let cmp: &[isize] = &[2, 3, 4];
25 assert_eq!(&x[1..4], cmp);
26
27 let x: &mut [isize] = &mut [1, 2, 3, 4, 5];
28 {
29 let cmp: &mut [isize] = &mut [1, 2, 3, 4, 5];
30 assert_eq!(&mut x[..], cmp);
31 }
32 {
33 let cmp: &mut [isize] = &mut [3, 4, 5];
34 assert_eq!(&mut x[2..], cmp);
35 }
36 {
37 let cmp: &mut [isize] = &mut [1, 2, 3];
38 assert_eq!(&mut x[..3], cmp);
39 }
40 {
41 let cmp: &mut [isize] = &mut [2, 3, 4];
42 assert_eq!(&mut x[1..4], cmp);
43 }
44
45 let mut x: Vec<isize> = vec![1, 2, 3, 4, 5];
46 {
47 let cmp: &mut [isize] = &mut [1, 2, 3, 4, 5];
48 assert_eq!(&mut x[..], cmp);
49 }
50 {
51 let cmp: &mut [isize] = &mut [3, 4, 5];
52 assert_eq!(&mut x[2..], cmp);
53 }
54 {
55 let cmp: &mut [isize] = &mut [1, 2, 3];
56 assert_eq!(&mut x[..3], cmp);
57 }
58 {
59 let cmp: &mut [isize] = &mut [2, 3, 4];
60 assert_eq!(&mut x[1..4], cmp);
61 }
62 }