rust/src/test/ui/parser/assoc-static-semantic-fail.rs

48 lines
1.6 KiB
Rust
Raw Normal View History

2020-02-14 18:50:26 -06:00
// Semantically, we do not allow e.g., `static X: u8 = 0;` as an associated item.
#![feature(specialization)]
fn main() {}
struct S;
impl S {
static IA: u8 = 0;
//~^ ERROR associated `static` items are not allowed
static IB: u8;
//~^ ERROR associated `static` items are not allowed
//~| ERROR associated constant in `impl` without body
2020-02-14 18:50:26 -06:00
default static IC: u8 = 0;
//~^ ERROR associated `static` items are not allowed
pub(crate) default static ID: u8;
//~^ ERROR associated `static` items are not allowed
//~| ERROR associated constant in `impl` without body
2020-02-14 18:50:26 -06:00
}
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 `default` is only allowed on items in
pub(crate) default static TD: u8;
//~^ ERROR associated `static` items are not allowed
//~| ERROR `default` is only allowed on items in
//~| ERROR unnecessary visibility qualifier
}
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
//~| ERROR associated constant in `impl` without body
2020-02-14 18:50:26 -06:00
default static TC: u8 = 0;
//~^ ERROR associated `static` items are not allowed
pub default static TD: u8;
//~^ ERROR associated `static` items are not allowed
//~| ERROR associated constant in `impl` without body
2020-02-14 18:50:26 -06:00
//~| ERROR unnecessary visibility qualifier
}