blob: 5c241f256ebd7d361b59148a4186ccee650aa73b [file] [log] [blame]
Charisee87880442023-11-01 01:09:07 +00001pub trait Trait<A> {
2 const ONE<T>: i32;
3 //~^ ERROR generic const items are experimental
4
5 const TWO: ()
6 where
7 A: Copy;
8 //~^^ ERROR generic const items are experimental
9}
10
11const CONST<T>: i32 = 0;
12//~^ ERROR generic const items are experimental
13
14const EMPTY<>: i32 = 0;
15//~^ ERROR generic const items are experimental
16
17const TRUE: () = ()
18where
19 String: Clone;
20//~^^ ERROR generic const items are experimental
21
22// Ensure that we flag generic const items inside macro calls as well:
23
24macro_rules! discard {
25 ($item:item) => {}
26}
27
28discard! { const FREE<T>: () = (); }
29//~^ ERROR generic const items are experimental
30
31discard! { impl () { const ASSOC<const N: ()>: () = (); } }
32//~^ ERROR generic const items are experimental
33
34discard! { impl () { const ASSOC: i32 = 0 where String: Copy; } }
35//~^ ERROR generic const items are experimental
36
37fn main() {}