Closed
Description
#![feature(derive_coerce_pointee)]
use std::marker::PhantomData;
use std::marker::CoercePointee;
#[derive(CoercePointee)] #[repr(transparent)]
struct MyPointer<'a, T, #[pointee] U: ?Sized> {
ptr: &'a (T, U),
}
fn main() {
let x = MyPointer { ptr: &(1u32, 1u32) };
let _: MyPointer<u32, dyn Send> = x;
}
Originally posted by @lcnr in #133820 (comment)