| //@ revisions: rpass1 cfail2 | |
| #![feature(type_alias_impl_trait)] | |
| pub type Foo = impl Sized; | |
| #[cfg_attr(rpass1, define_opaque())] | |
| #[cfg_attr(cfail2, define_opaque(Foo))] | |
| fn a() { | |
| //[cfail2]~^ ERROR item does not constrain `Foo::{opaque#0}` | |
| let _: Foo = b(); | |
| } | |
| #[define_opaque(Foo)] | |
| fn b() -> Foo { | |
| () | |
| } | |
| fn main() {} |