| //@ run-pass | |
| // Test that we allow unsizing even if there is an unchanged param in the | |
| // field getting unsized. | |
| struct A<T, U: ?Sized + 'static>(#[allow(dead_code)] T, B<T, U>); | |
| struct B<T, U: ?Sized>(#[allow(dead_code)] T, U); | |
| fn main() { | |
| let x: A<[u32; 1], [u32; 1]> = A([0; 1], B([0; 1], [0; 1])); | |
| let y: &A<[u32; 1], [u32]> = &x; | |
| assert_eq!(y.1.1.len(), 1); | |
| } |