summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/fn-param-attributes.rs
blob: 829575518debd5bd80b888baa5fe4c35a2e23e27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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,
) {
    // ...
}