summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/fn-param-attributes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/fn-param-attributes.rs')
-rw-r--r--src/tools/rustfmt/tests/target/fn-param-attributes.rs64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/fn-param-attributes.rs b/src/tools/rustfmt/tests/target/fn-param-attributes.rs
new file mode 100644
index 000000000..829575518
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/fn-param-attributes.rs
@@ -0,0 +1,64 @@
+// https://github.com/rust-lang/rustfmt/issues/3623
+
+fn foo(#[cfg(something)] x: i32, y: i32) -> i32 {
+ x + y
+}
+
+fn foo_b(#[cfg(something)] x: i32, y: i32) -> i32 {
+ x + y
+}
+
+fn add(
+ #[cfg(something)]
+ #[deny(C)]
+ x: i32,
+ y: i32,
+) -> i32 {
+ x + y
+}
+
+struct NamedSelfRefStruct {}
+impl NamedSelfRefStruct {
+ fn foo(#[cfg(something)] self: &Self) {}
+}
+
+struct MutStruct {}
+impl MutStruct {
+ fn foo(#[cfg(foo)] &mut self, #[deny(C)] b: i32) {}
+}
+
+fn main() {
+ let c = |#[allow(C)] a: u32,
+ #[cfg(something)] b: i32,
+ #[cfg_attr(something, cfg(nothing))]
+ #[deny(C)]
+ c: i32| {};
+ let _ = c(1, 2);
+}
+
+pub fn bar(
+ /// bar
+ #[test]
+ a: u32,
+ /// Bar
+ #[must_use]
+ /// Baz
+ #[no_mangle]
+ b: i32,
+) {
+}
+
+fn abc(
+ #[foo]
+ #[bar]
+ param: u32,
+) {
+ // ...
+}
+
+fn really_really_really_loooooooooooooooooooong(
+ #[cfg(some_even_longer_config_feature_that_keeps_going_and_going_and_going_forever_and_ever_and_ever_on_and_on)]
+ b: i32,
+) {
+ // ...
+}