]> git.lizzy.rs Git - rust.git/blob - tests/ui/indexing_slicing.rs
Rename instances of `array_indexing`
[rust.git] / tests / ui / indexing_slicing.rs
1 #![feature(plugin)]
2 #![warn(indexing_slicing)]
3 #![warn(out_of_bounds_indexing)]
4 #![allow(no_effect, unnecessary_operation)]
5
6 fn main() {
7     let x = [1, 2, 3, 4];
8     let index: usize = 1;
9     let index_from: usize = 2;
10     let index_to: usize = 3;
11     x[index];
12     &x[index_from..index_to];
13     &x[index_from..][..index_to];
14     &x[index..];
15     &x[..index];
16     x[0];
17     x[3];
18     x[4];
19     x[1 << 3];
20     &x[1..5];
21     &x[1..][..5];
22     &x[0..3];
23     &x[0..][..3];
24     &x[0..=4];
25     &x[..=4];
26     &x[..];
27     &x[1..];
28     &x[4..];
29     &x[5..];
30     &x[..4];
31     &x[..5];
32
33     let y = &x;
34     y[0];
35     &y[1..2];
36     &y[..];
37     &y[0..=4];
38     &y[..=4];
39
40     let empty: [i8; 0] = [];
41     empty[0];
42     &empty[1..5];
43     &empty[0..=4];
44     &empty[..=4];
45     &empty[..];
46     &empty[0..];
47     &empty[0..0];
48     &empty[0..=0];
49     &empty[..=0];
50     &empty[..0];
51     &empty[1..];
52     &empty[..4];
53
54     let v = vec![0; 5];
55     v[0];
56     v[10];
57     &v[10..100];
58     &v[10..];
59     &v[..100];
60 }