//@ 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() {} |