rust/tests/ui/generic-const-items/feature-gate-generic_const_items.rs
2023-07-28 22:23:20 +02:00

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() {}