rust/tests/ui/parser/assoc/assoc-static-syntactic-fail.rs

34 lines
1.4 KiB
Rust

// Syntactically, we do allow e.g., `static X: u8 = 0;` as an associated item.
fn main() {}
#[cfg(FALSE)]
impl S {
static IA: u8 = 0; //~ ERROR associated `static` items are not allowed
static IB: u8; //~ ERROR associated `static` items are not allowed
default static IC: u8 = 0; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
pub(crate) default static ID: u8; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
}
#[cfg(FALSE)]
trait T {
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
static TB: u8; //~ ERROR associated `static` items are not allowed
default static TC: u8 = 0; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
pub(crate) default static TD: u8; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
}
#[cfg(FALSE)]
impl T for S {
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
static TB: u8; //~ ERROR associated `static` items are not allowed
default static TC: u8 = 0; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
pub default static TD: u8; //~ ERROR associated `static` items are not allowed
//~^ ERROR a static item cannot be `default`
}