rust/tests/ui/eii/attribute_targets.rs
Jana Dönszelmann c040bb1c7e
move eii tests
2025-12-19 12:42:49 +01:00

63 lines
1.3 KiB
Rust

#![feature(extern_item_impls)]
// Check whether the EII attributes do target checking properly.
#[eii]
fn foo() {}
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
const A: usize = 3;
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
macro_rules! foo_impl {
() => {};
}
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
struct Foo;
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
impl Foo {
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
fn foo_impl() {}
}
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
trait Bar {
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
fn foo_impl();
}
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
impl Bar for Foo {
#[foo]
//~^ ERROR `#[foo]` is only valid on functions
#[eii]
//~^ ERROR `#[eii]` is only valid on functions
fn foo_impl() {}
}
fn main() {}