// run-pass // Check that unsizing doesn't reorder fields. #![allow(dead_code)] use std::fmt::Debug; #[derive(Debug)] struct GcNode { gets_swapped_with_next: usize, next: Option<&'static GcNode>, tail: T, } fn main() { let node: Box> = Box::new(GcNode { gets_swapped_with_next: 42, next: None, tail: Box::new(1), }); assert_eq!(node.gets_swapped_with_next, 42); assert!(node.next.is_none()); }