2021-08-29 20:08:40 -04:00
|
|
|
#![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]
|
2025-08-09 20:41:01 +02:00
|
|
|
//~^ WARNING attribute cannot be used on
|
|
|
|
|
//~| WARN previously accepted
|
2021-08-29 20:08:40 -04:00
|
|
|
pub static FOO: u8;
|
|
|
|
|
|
|
|
|
|
#[no_mangle]
|
2025-08-09 20:41:01 +02:00
|
|
|
//~^ WARNING attribute cannot be used on
|
|
|
|
|
//~| WARN previously accepted
|
2021-08-29 20:08:40 -04:00
|
|
|
pub fn bar();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn no_new_warn() {
|
|
|
|
|
// Should emit the generic "not a function or static" warning
|
|
|
|
|
#[no_mangle]
|
2025-08-09 20:41:01 +02:00
|
|
|
//~^ WARNING attribute cannot be used on
|
|
|
|
|
//~| WARN previously accepted
|
2021-08-29 20:08:40 -04:00
|
|
|
let x = 0_u8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {}
|