#![feature(linkage)] #![feature(stmt_expr_attributes)] #![deny(unused_attributes)] #![allow(dead_code)] #[linkage = "weak"] //~ ERROR attribute should be applied to a function or static type InvalidTy = (); #[linkage = "weak"] //~ ERROR attribute should be applied to a function or static mod invalid_module {} #[linkage = "weak"] //~ ERROR attribute should be applied to a function or static struct F; #[linkage = "weak"] //~ ERROR attribute should be applied to a function or static impl F { #[linkage = "weak"] fn valid(&self) {} } #[linkage = "weak"] fn f() { #[linkage = "weak"] { 1 }; //~^^^^ ERROR attribute should be applied to a function or static } extern "C" { #[linkage = "weak"] static A: *const (); #[linkage = "weak"] fn bar(); } fn main() { let _ = #[linkage = "weak"] (|| 1); //~^^ ERROR attribute should be applied to a function or static }