Files
rust/tests/ui/eii/wrong_target.rs
T
2025-12-12 11:32:35 +01:00

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