//@ check-pass #![feature(coerce_unsized, dispatch_from_dyn, unsize)] use std::marker::Unsize; use std::ops::{CoerceUnsized, DispatchFromDyn}; use std::marker::PhantomData; trait Mirror { type Assoc; } impl Mirror for T { type Assoc = T; } struct W { t: &'static T, f: as Mirror>::Assoc, } impl CoerceUnsized> for W where T: Unsize {} impl DispatchFromDyn> for W where T: Unsize {} fn main() {}