38 lines
884 B
Rust
38 lines
884 B
Rust
|
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() {}
|