]> git.lizzy.rs Git - rust.git/blob - tests/ui/packed/issue-46152.rs
Rollup merge of #106714 - Ezrashaw:remove-e0490, r=davidtwco
[rust.git] / tests / ui / packed / issue-46152.rs
1 // run-pass
2 #![allow(dead_code)]
3 #![allow(unused_variables)]
4 #![feature(unsize, coerce_unsized)]
5
6 #[repr(packed)]
7 struct UnalignedPtr<'a, T: ?Sized>
8     where T: 'a,
9 {
10     data: &'a T,
11 }
12
13 fn main() {
14
15     impl<'a, T, U> std::ops::CoerceUnsized<UnalignedPtr<'a, U>> for UnalignedPtr<'a, T>
16         where
17         T: std::marker::Unsize<U> + ?Sized,
18         U: ?Sized,
19     { }
20
21     let arr = [1, 2, 3];
22     let arr_unaligned: UnalignedPtr<[i32; 3]> = UnalignedPtr { data: &arr };
23     let arr_unaligned: UnalignedPtr<[i32]> = arr_unaligned;
24 }