-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:17:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:13:1
|
-17 | fn distinct_lifetimes<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: u8) { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn distinct_lifetimes<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: u8) {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::needless-lifetimes` implied by `-D warnings`
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:19:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:15:1
|
-19 | fn distinct_and_static<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: &'static u8) { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn distinct_and_static<'a, 'b>(_x: &'a u8, _y: &'b u8, _z: &'static u8) {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:27:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:23:1
|
-27 | fn in_and_out<'a>(x: &'a u8, _y: u8) -> &'a u8 { x }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | / fn in_and_out<'a>(x: &'a u8, _y: u8) -> &'a u8 {
+LL | | x
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:39:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:47:1
|
-39 | fn deep_reference_3<'a>(x: &'a u8, _y: u8) -> Result<&'a u8, ()> { Ok(x) }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | / fn deep_reference_3<'a>(x: &'a u8, _y: u8) -> Result<&'a u8, ()> {
+LL | | Ok(x)
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:42:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:52:1
|
-42 | fn where_clause_without_lt<'a, T>(x: &'a u8, _y: u8) -> Result<&'a u8, ()> where T: Copy { Ok(x) }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | / fn where_clause_without_lt<'a, T>(x: &'a u8, _y: u8) -> Result<&'a u8, ()>
+LL | | where
+LL | | T: Copy,
+LL | | {
+LL | | Ok(x)
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:48:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:63:1
|
-48 | fn lifetime_param_2<'a, 'b>(_x: Ref<'a>, _y: &'b u8) { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn lifetime_param_2<'a, 'b>(_x: Ref<'a>, _y: &'b u8) {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:62:1
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:84:1
|
-62 | / fn fn_bound_2<'a, F, I>(_m: Lt<'a, I>, _f: F) -> Lt<'a, I>
-63 | | where for<'x> F: Fn(Lt<'x, I>) -> Lt<'x, I>
-64 | | { unreachable!() }
- | |__________________^
+LL | / fn fn_bound_2<'a, F, I>(_m: Lt<'a, I>, _f: F) -> Lt<'a, I>
+LL | | where
+LL | | for<'x> F: Fn(Lt<'x, I>) -> Lt<'x, I>,
+LL | | {
+LL | | unreachable!()
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:87:5
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:117:5
|
-87 | fn self_and_out<'s>(&'s self) -> &'s u8 { &self.x }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | / fn self_and_out<'s>(&'s self) -> &'s u8 {
+LL | | &self.x
+LL | | }
+ | |_____^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:91:5
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:125:5
|
-91 | fn distinct_self_and_in<'s, 't>(&'s self, _x: &'t u8) { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn distinct_self_and_in<'s, 't>(&'s self, _x: &'t u8) {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:107:1
- |
-107 | fn struct_with_lt<'a>(_foo: Foo<'a>) -> &'a str { unimplemented!() }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:141:1
+ |
+LL | / fn struct_with_lt<'a>(_foo: Foo<'a>) -> &'a str {
+LL | | unimplemented!()
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:127:1
- |
-127 | fn trait_obj_elided2<'a>(_arg: &'a Drop) -> &'a str { unimplemented!() }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:171:1
+ |
+LL | / fn trait_obj_elided2<'a>(_arg: &'a Drop) -> &'a str {
+LL | | unimplemented!()
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:131:1
- |
-131 | fn alias_with_lt<'a>(_foo: FooAlias<'a>) -> &'a str { unimplemented!() }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:177:1
+ |
+LL | / fn alias_with_lt<'a>(_foo: FooAlias<'a>) -> &'a str {
+LL | | unimplemented!()
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:142:1
- |
-142 | fn named_input_elided_output<'a>(_arg: &'a str) -> &str { unimplemented!() }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:196:1
+ |
+LL | / fn named_input_elided_output<'a>(_arg: &'a str) -> &str {
+LL | | unimplemented!()
+LL | | }
+ | |_^
+
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:204:1
+ |
+LL | / fn trait_bound_ok<'a, T: WithLifetime<'static>>(_: &'a u8, _: T) {
+LL | | unimplemented!()
+LL | | }
+ | |_^
-error: explicit lifetimes given in parameter types where they could be elided
- --> $DIR/lifetimes.rs:146:1
- |
-146 | fn trait_bound_ok<'a, T: WithLifetime<'static>>(_: &'a u8, _: T) { unimplemented!() }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration)
+ --> $DIR/lifetimes.rs:241:1
+ |
+LL | / fn out_return_type_lts<'a>(e: &'a str) -> Cow<'a> {
+LL | | unimplemented!()
+LL | | }
+ | |_^
-error: aborting due to 14 previous errors
+error: aborting due to 15 previous errors