]>
Commit | Line | Data |
---|---|---|
b7449926 XL |
1 | // run-pass |
2 | ||
1a4d82fc JJ |
3 | // Check that the various ways of getting to a reference to a vec (both sized |
4 | // and unsized) work properly. | |
5 | ||
1a4d82fc | 6 | |
92a42be0 SL |
7 | const AA: [isize; 3] = [1, 2, 3]; |
8 | const AB: &'static [isize; 3] = &AA; | |
9 | const AC: &'static [isize] = AB; | |
10 | const AD: &'static [isize] = &AA; | |
11 | const AE: &'static [isize; 3] = &[1, 2, 3]; | |
12 | const AF: &'static [isize] = &[1, 2, 3]; | |
c34b1796 | 13 | |
92a42be0 SL |
14 | static CA: isize = AA[0]; |
15 | static CB: isize = AB[1]; | |
16 | static CC: isize = AC[2]; | |
17 | static CD: isize = AD[0]; | |
18 | static CE: isize = AE[1]; | |
19 | static CF: isize = AF[2]; | |
20 | ||
21 | static AG: &'static isize = &AA[2]; | |
1a4d82fc JJ |
22 | |
23 | fn main () { | |
c34b1796 | 24 | let b: &[isize] = &[1, 2, 3]; |
92a42be0 SL |
25 | assert_eq!(AC, b); |
26 | assert_eq!(AD, b); | |
27 | assert_eq!(AF, b); | |
28 | assert_eq!(*AG, 3); | |
1a4d82fc | 29 | |
92a42be0 SL |
30 | assert_eq!(CA, 1); |
31 | assert_eq!(CB, 2); | |
32 | assert_eq!(CC, 3); | |
33 | assert_eq!(CD, 1); | |
34 | assert_eq!(CE, 2); | |
35 | assert_eq!(CF, 3); | |
1a4d82fc | 36 | } |