// compile-flags: -Ztrait-solver=next // check-pass use std::fmt::Display; use std::rc::Rc; fn mk(t: Option<&T>) -> Rc { todo!() } fn main() { let mut x = None; let y = mk(x); // Don't treat the line below as a unsize coercion `Rc ~> Rc` let z: Rc = y; x = Some(&1 as &dyn Display); }