#![feature(generic_const_items)] #![allow(incomplete_features)] trait Trait

{ const A: (); const B: u64; const C: T; const D: usize; const E: usize; const F: (); } impl

Trait

for () { const A: () = (); //~^ ERROR const `A` has 1 type parameter but its trait declaration has 0 type parameters const B: u64 = 0; //~^ ERROR const `B` has 1 const parameter but its trait declaration has 2 const parameters const C<'a>: &'a str = ""; //~^ ERROR const `C` has 0 type parameters but its trait declaration has 1 type parameter const D: u16 = N; //~^ ERROR const `D` has an incompatible generic parameter for trait `Trait` const E: usize = 1024 where P: Copy; //~ ERROR impl has stricter requirements than trait const F: () = (); //~ ERROR impl has stricter requirements than trait } fn main() {}