]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/with-dst.rs
Auto merge of #100497 - kadiwa4:remove_clone_into_iter, r=cjgillot
[rust.git] / src / test / ui / traits / with-dst.rs
1 // build-pass (FIXME(62277): could be check-pass?)
2 // #55266
3
4 struct VTable<DST: ?Sized> {
5     _to_dst_ptr: fn(*mut ()) -> *mut DST,
6 }
7
8 trait HasVTableFor<DST: ?Sized + 'static> {
9     const VTABLE: &'static VTable<DST>;
10 }
11
12 impl<T, DST: ?Sized + 'static> HasVTableFor<DST> for T {
13     const VTABLE: &'static VTable<DST> = &VTable {
14         _to_dst_ptr: |_: *mut ()| unsafe { std::mem::zeroed() },
15     };
16 }
17
18 pub fn push<DST: ?Sized + 'static, T>() {
19     <T as HasVTableFor<DST>>::VTABLE;
20 }
21
22 fn main() {}