| #![feature(type_alias_impl_trait)] | |
| //@ check-pass | |
| type Foo = impl std::fmt::Debug; | |
| #[define_opaque(Foo)] | |
| fn foo(b: bool) -> Foo { | |
| if b { | |
| return 42; | |
| } | |
| let x: u32 = foo(false); | |
| 99 | |
| } | |
| fn bar(b: bool) -> impl std::fmt::Debug { | |
| if b { | |
| return 42; | |
| } | |
| let x: u32 = bar(false); | |
| 99 | |
| } | |
| fn main() {} |