#![feature(type_alias_impl_trait)] type Tait = impl Sized; fn foo() -> Tait { if false { if { return } { let y: Tait = 1i32; //~^ ERROR concrete type differs from previous defining opaque type use } } let x: Tait = (); x } fn main() {}