blob: 5aebcceb7c75d8890871758a30219d9dc244d76f [file] [log] [blame]
#![feature(const_trait_impl, impl_trait_in_bindings)]
struct S;
#[const_trait]
trait Trait<const N: u32> {}
impl const Trait<0> for () {}
const fn f<
T: Trait<
{
const fn g<U: [const] Trait<0>>() {}
struct I<U: [const] Trait<0>>(U);
//~^ ERROR `[const]` is not allowed here
let x: &impl [const] Trait<0> = &();
//~^ ERROR `[const]` is not allowed here
0
},
>,
>(x: &T) {
// Should be allowed here
let y: &impl [const] Trait<0> = x;
}
pub fn main() {}