blob: 2a31df83843e64095e8a81aabbba710ae9094dc2 [file] [log] [blame]
// regression test for an ICE: https://github.com/rust-lang/miri/issues/3282
trait Id {
type Assoc: ?Sized;
}
impl<T: ?Sized> Id for T {
type Assoc = T;
}
#[repr(transparent)]
struct Foo<T: ?Sized> {
field: <T as Id>::Assoc,
}
fn main() {
let x = unsafe { std::mem::transmute::<fn(&str), fn(&Foo<str>)>(|_| ()) };
let foo: &Foo<str> = unsafe { &*("uwu" as *const str as *const Foo<str>) };
x(foo);
}