1 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
2 --> $DIR/needless_lifetimes.rs:4:1
4 LL | fn distinct_lifetimes<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: u8) {}
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: `-D clippy::needless-lifetimes` implied by `-D warnings`
9 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
10 --> $DIR/needless_lifetimes.rs:6:1
12 LL | fn distinct_and_static<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: &'static u8) {}
13 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
16 --> $DIR/needless_lifetimes.rs:16:1
18 LL | fn in_and_out<'a>(x: &'a u8, _y: u8) -> &'a u8 {
19 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
22 --> $DIR/needless_lifetimes.rs:45:1
24 LL | fn deep_reference_3<'a>(x: &'a u8, _y: u8) -> Result<&'a u8, ()> {
25 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
28 --> $DIR/needless_lifetimes.rs:50:1
30 LL | fn where_clause_without_lt<'a, T>(x: &'a u8, _y: u8) -> Result<&'a u8, ()>
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
34 --> $DIR/needless_lifetimes.rs:62:1
36 LL | fn lifetime_param_2<'a, 'b>(_x: Ref<'a>, _y: &'b u8) {}
37 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
40 --> $DIR/needless_lifetimes.rs:86:1
42 LL | fn fn_bound_2<'a, F, I>(_m: Lt<'a, I>, _f: F) -> Lt<'a, I>
43 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
46 --> $DIR/needless_lifetimes.rs:116:5
48 LL | fn self_and_out<'s>(&'s self) -> &'s u8 {
49 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
51 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
52 --> $DIR/needless_lifetimes.rs:125:5
54 LL | fn distinct_self_and_in<'s, 't>(&'s self, _x: &'t u8) {}
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
58 --> $DIR/needless_lifetimes.rs:144:1
60 LL | fn struct_with_lt<'a>(_foo: Foo<'a>) -> &'a str {
61 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
63 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
64 --> $DIR/needless_lifetimes.rs:174:1
66 LL | fn trait_obj_elided2<'a>(_arg: &'a dyn Drop) -> &'a str {
67 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
69 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
70 --> $DIR/needless_lifetimes.rs:180:1
72 LL | fn alias_with_lt<'a>(_foo: FooAlias<'a>) -> &'a str {
73 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
76 --> $DIR/needless_lifetimes.rs:199:1
78 LL | fn named_input_elided_output<'a>(_arg: &'a str) -> &str {
79 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
81 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
82 --> $DIR/needless_lifetimes.rs:207:1
84 LL | fn trait_bound_ok<'a, T: WithLifetime<'static>>(_: &'a u8, _: T) {
85 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
88 --> $DIR/needless_lifetimes.rs:243:1
90 LL | fn out_return_type_lts<'a>(e: &'a str) -> Cow<'a> {
91 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
93 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
94 --> $DIR/needless_lifetimes.rs:250:9
96 LL | fn needless_lt<'a>(x: &'a u8) {}
97 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
100 --> $DIR/needless_lifetimes.rs:254:9
102 LL | fn needless_lt<'a>(_x: &'a u8) {}
103 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
106 --> $DIR/needless_lifetimes.rs:267:9
108 LL | fn baz<'a>(&'a self) -> impl Foo + 'a {
109 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
111 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
112 --> $DIR/needless_lifetimes.rs:296:5
114 LL | fn impl_trait_elidable_nested_named_lifetimes<'a>(i: &'a i32, f: impl for<'b> Fn(&'b i32) -> &'b i32) -> &'a i32 {
115 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
118 --> $DIR/needless_lifetimes.rs:299:5
120 LL | fn impl_trait_elidable_nested_anonymous_lifetimes<'a>(i: &'a i32, f: impl Fn(&i32) -> &i32) -> &'a i32 {
121 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
123 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
124 --> $DIR/needless_lifetimes.rs:308:5
126 LL | fn generics_elidable<'a, T: Fn(&i32) -> &i32>(i: &'a i32, f: T) -> &'a i32 {
127 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
130 --> $DIR/needless_lifetimes.rs:320:5
132 LL | fn where_clause_elidadable<'a, T>(i: &'a i32, f: T) -> &'a i32
133 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
136 --> $DIR/needless_lifetimes.rs:335:5
138 LL | fn pointer_fn_elidable<'a>(i: &'a i32, f: fn(&i32) -> &i32) -> &'a i32 {
139 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
141 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
142 --> $DIR/needless_lifetimes.rs:348:5
144 LL | fn nested_fn_pointer_3<'a>(_: &'a i32) -> fn(fn(&i32) -> &i32) -> i32 {
145 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147 error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
148 --> $DIR/needless_lifetimes.rs:351:5
150 LL | fn nested_fn_pointer_4<'a>(_: &'a i32) -> impl Fn(fn(&i32)) {
151 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
153 error: aborting due to 25 previous errors