diff options
Diffstat (limited to 'src/test/ui/unsized/unchanged-param.rs')
-rw-r--r-- | src/test/ui/unsized/unchanged-param.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/ui/unsized/unchanged-param.rs b/src/test/ui/unsized/unchanged-param.rs new file mode 100644 index 000000000..6bdc89310 --- /dev/null +++ b/src/test/ui/unsized/unchanged-param.rs @@ -0,0 +1,11 @@ +// 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(unused_tuple_struct_fields)] T, B<T, U>); +struct B<T, U: ?Sized>(#[allow(unused_tuple_struct_fields)] 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); +} |