1 // aux-build:param-attrs.rs
5 #![feature(c_variadic)]
7 extern crate param_attrs;
14 extern "C" { fn ffi(#[a1] arg1: i32, #[a2] ...); }
17 unsafe extern "C" fn cvar(arg1: i32, #[a1] mut args: ...) {}
20 type Alias = fn(#[a1] u8, #[a2] ...);
23 fn free(#[a1] arg1: u8) {
24 let lam = |#[a2] W(x), #[a3] y| ();
29 fn inherent1(#[a1] self, #[a2] arg1: u8) {}
32 fn inherent2(#[a1] &self, #[a2] arg1: u8) {}
35 fn inherent3<'a>(#[a1] &'a mut self, #[a2] arg1: u8) {}
38 fn inherent4<'a>(#[a1] self: Box<Self>, #[a2] arg1: u8) {}
40 #[attr_inherent_issue_64682]
41 fn inherent5(#[a1] #[a2] arg1: u8, #[a3] arg2: u8) {}
46 fn trait1(#[a1] self, #[a2] arg1: u8);
49 fn trait2(#[a1] &self, #[a2] arg1: u8);
52 fn trait3<'a>(#[a1] &'a mut self, #[a2] arg1: u8);
55 fn trait4<'a>(#[a1] self: Box<Self>, #[a2] arg1: u8, #[a3] Vec<u8>);
57 #[attr_trait_issue_64682]
58 fn trait5(#[a1] #[a2] arg1: u8, #[a3] arg2: u8);