//@ known-bug: #54888 | |
#![feature(unsize, coerce_unsized)] | |
use std::{ | |
ops::CoerceUnsized, | |
marker::Unsize, | |
}; | |
#[repr(C)] | |
struct Ptr<T: ?Sized>(Box<T>); | |
impl<T: ?Sized, U: ?Sized> CoerceUnsized<Ptr<U>> for Ptr<T> | |
where | |
T: Unsize<U>, | |
{} | |
fn main() { | |
let foo = Ptr(Box::new(5)) as Ptr<dyn std::any::Any>; | |
} |