summaryrefslogtreecommitdiffstats
path: root/src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs')
-rw-r--r--src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs b/src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs
new file mode 100644
index 000000000..1183ac65b
--- /dev/null
+++ b/src/test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs
@@ -0,0 +1,61 @@
+// aux-build:param-attrs.rs
+
+// check-pass
+
+#![feature(c_variadic)]
+
+extern crate param_attrs;
+
+use param_attrs::*;
+
+struct W(u8);
+
+#[attr_extern]
+extern "C" { fn ffi(#[a1] arg1: i32, #[a2] ...); }
+
+#[attr_extern_cvar]
+unsafe extern "C" fn cvar(arg1: i32, #[a1] mut args: ...) {}
+
+#[attr_alias]
+type Alias = fn(#[a1] u8, #[a2] ...);
+
+#[attr_free]
+fn free(#[a1] arg1: u8) {
+ let lam = |#[a2] W(x), #[a3] y| ();
+}
+
+impl W {
+ #[attr_inherent_1]
+ fn inherent1(#[a1] self, #[a2] arg1: u8) {}
+
+ #[attr_inherent_2]
+ fn inherent2(#[a1] &self, #[a2] arg1: u8) {}
+
+ #[attr_inherent_3]
+ fn inherent3<'a>(#[a1] &'a mut self, #[a2] arg1: u8) {}
+
+ #[attr_inherent_4]
+ fn inherent4<'a>(#[a1] self: Box<Self>, #[a2] arg1: u8) {}
+
+ #[attr_inherent_issue_64682]
+ fn inherent5(#[a1] #[a2] arg1: u8, #[a3] arg2: u8) {}
+}
+
+trait A {
+ #[attr_trait_1]
+ fn trait1(#[a1] self, #[a2] arg1: u8);
+
+ #[attr_trait_2]
+ fn trait2(#[a1] &self, #[a2] arg1: u8);
+
+ #[attr_trait_3]
+ fn trait3<'a>(#[a1] &'a mut self, #[a2] arg1: u8);
+
+ #[attr_trait_4]
+ fn trait4<'a>(#[a1] self: Box<Self>, #[a2] arg1: u8, #[a3] Vec<u8>);
+
+ #[attr_trait_issue_64682]
+ fn trait5(#[a1] #[a2] arg1: u8, #[a3] arg2: u8);
+}
+
+fn main() {}