]> git.proxmox.com Git - rustc.git/blob - tests/ui/issues/issue-36278-prefix-nesting.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / issues / issue-36278-prefix-nesting.rs
1 // run-pass
2 // Issue 36278: On an unsized struct with >1 level of nontrivial
3 // nesting, ensure we are computing dynamic size of prefix correctly.
4
5 use std::mem;
6
7 const SZ: usize = 100;
8 #[allow(unused_tuple_struct_fields)]
9 struct P<T: ?Sized>([u8; SZ], T);
10
11 type Ack<T> = P<P<T>>;
12
13 fn main() {
14 let size_of_sized; let size_of_unsized;
15 let x: Box<Ack<[u8; 0]>> = Box::new(P([0; SZ], P([0; SZ], [0; 0])));
16 size_of_sized = mem::size_of_val::<Ack<_>>(&x);
17 let y: Box<Ack<[u8 ]>> = x;
18 size_of_unsized = mem::size_of_val::<Ack<_>>(&y);
19 assert_eq!(size_of_sized, size_of_unsized);
20 }