1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
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() {}
|