//! This test checks that opaque types get unsized instead of | |
//! constraining their hidden type to a trait object. | |
//@ revisions: next old | |
//@[next] compile-flags: -Znext-solver | |
//@check-pass | |
trait Trait {} | |
impl Trait for u32 {} | |
fn hello() -> Box<impl Trait + ?Sized> { | |
if true { | |
let x = hello() as Box<u32>; | |
let y: Box<dyn Send> = x; | |
} | |
Box::new(1u32) | |
} | |
fn main() {} |