]> git.lizzy.rs Git - rust.git/blob - tests/ui/dynamically-sized-types/dst-tuple-no-reorder.rs
check -Z query-dep-graph is enabled if -Z dump-dep-graph (#106736)
[rust.git] / tests / ui / dynamically-sized-types / dst-tuple-no-reorder.rs
1 // run-pass
2
3 #![feature(unsized_tuple_coercion)]
4
5 // Ensure that unsizable fields that might be accessed don't get reordered
6
7 fn nonzero_size() {
8     let sized: (u8, [u32; 2]) = (123, [456, 789]);
9     let unsize: &(u8, [u32]) = &sized;
10     assert_eq!(unsize.0, 123);
11     assert_eq!(unsize.1.len(), 2);
12     assert_eq!(unsize.1[0], 456);
13     assert_eq!(unsize.1[1], 789);
14 }
15
16 fn zst() {
17     let sized: (u8, [u32; 0]) = (123, []);
18     let unsize: &(u8, [u32]) = &sized;
19     assert_eq!(unsize.0, 123);
20     assert_eq!(unsize.1.len(), 0);
21 }
22
23 pub fn main() {
24     nonzero_size();
25     zst();
26 }