pub trait Trait { const ONE: i32; //~^ ERROR generic const items are experimental const TWO: () where A: Copy; //~^^ ERROR generic const items are experimental } const CONST: i32 = 0; //~^ ERROR generic const items are experimental const EMPTY<>: i32 = 0; //~^ ERROR generic const items are experimental const TRUE: () = () where String: Clone; //~^^ ERROR generic const items are experimental // Ensure that we flag generic const items inside macro calls as well: macro_rules! discard { ($item:item) => {} } discard! { const FREE: () = (); } //~^ ERROR generic const items are experimental discard! { impl () { const ASSOC: () = (); } } //~^ ERROR generic const items are experimental discard! { impl () { const ASSOC: i32 = 0 where String: Copy; } } //~^ ERROR generic const items are experimental fn main() {}