| pub trait Trait<A> { | |
| const ONE<T>: i32; | |
| //~^ ERROR generic const items are experimental | |
| const TWO: () | |
| where | |
| A: Copy; | |
| //~^^ ERROR generic const items are experimental | |
| } | |
| const CONST<T>: 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<T>: () = (); } | |
| //~^ ERROR generic const items are experimental | |
| discard! { impl () { const ASSOC<const N: ()>: () = (); } } | |
| //~^ ERROR generic const items are experimental | |
| discard! { impl () { const ASSOC: i32 = 0 where String: Copy; } } | |
| //~^ ERROR generic const items are experimental | |
| fn main() {} |