63 lines
1.3 KiB
Rust
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() {}
|