//! Test that we allow unsizing `Trait` to `Trait` and vice versa //@ check-pass trait Trait {} impl Trait for U {} fn hello() -> &'static (dyn Trait + Send) { if false { let x = hello(); let _: &'static dyn Trait<()> = x; } todo!() } fn bye() -> &'static dyn Trait { if false { let mut x = bye(); let y: &'static (dyn Trait<()> + Send) = &(); x = y; } todo!() } fn main() {}