mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 06:51:58 +00:00
31 lines
924 B
Rust
31 lines
924 B
Rust
#![warn(unused_attributes)]
|
|
|
|
// Tests that placing the #[no_mangle] attribute on a foreign fn or static emits
|
|
// a specialized warning.
|
|
// The previous warning only talks about a "function or static" but foreign fns/statics
|
|
// are also not allowed to have #[no_mangle]
|
|
|
|
// build-pass
|
|
|
|
extern "C" {
|
|
#[no_mangle]
|
|
//~^ WARNING `#[no_mangle]` has no effect on a foreign static
|
|
//~^^ WARNING this was previously accepted by the compiler
|
|
pub static FOO: u8;
|
|
|
|
#[no_mangle]
|
|
//~^ WARNING `#[no_mangle]` has no effect on a foreign function
|
|
//~^^ WARNING this was previously accepted by the compiler
|
|
pub fn bar();
|
|
}
|
|
|
|
fn no_new_warn() {
|
|
// Should emit the generic "not a function or static" warning
|
|
#[no_mangle]
|
|
//~^ WARNING attribute should be applied to a free function, impl method or static
|
|
//~^^ WARNING this was previously accepted by the compiler
|
|
let x = 0_u8;
|
|
}
|
|
|
|
fn main() {}
|