Even for a simple data structure that would ordinarily expand to an impl
that only refers to the public Serde traits without serde::__private, we
still disallow a (renamed) serde_core dependency. This leaves the
liberty to new usage of private helpers in such impls over time. For
example, similar to the optimization of the standard library's
derive(Debug) that introduced debug_struct_field1_finish to improve
compile time of derived impls.
In the 2024 edition of Rust, `serde`s macros for `serialize_with` can
lead to a temporary lifetime error such as:
```
error[E0716]: temporary value dropped while borrowed
--> my-binary/src/main.rs:6:10
|
6 | #[derive(MyDerive)]
| ^^^^^^^-
| | |
| | temporary value is freed at the end of this statement
| creates a temporary value which is freed while still in use
| borrow later used by call
| in this derive macro expansion
|
::: /private/tmp/life/my-project/my-macro/src/lib.rs:6:1
|
6 | pub fn my_derive(_input: TokenStream) -> TokenStream {
| ---------------------------------------------------- in this expansion of `#[derive(MyDerive)]`
|
= note: consider using a `let` binding to create a longer lived value
```
This is because the macro code takes a reference to struct inside of a
block, which then goes out of scope when `serde` passes it to a
function.
To resolve this, we move the reference to outside of the block, to
ensure that the lifetime extends into the function call.
Signed-off-by: Andrew V. Teylu <andrew.teylu@vector.com>
warning: lifetime flowing from input to output with different syntax can be confusing
--> serde/src/private/de.rs:266:23
|
266 | fn unexpected(&self) -> Unexpected {
| ^^^^^ ---------- the lifetime gets resolved as `'_`
| |
| this lifetime flows to the output
|
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
|
266 | fn unexpected(&self) -> Unexpected<'_> {
| ++++
warning: lifetime flowing from input to output with different syntax can be confusing
--> serde/src/private/mod.rs:27:35
|
27 | pub fn from_utf8_lossy(bytes: &[u8]) -> Cow<str> {
| ^^^^^ -------- the lifetime gets resolved as `'_`
| |
| this lifetime flows to the output
|
help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
|
27 | pub fn from_utf8_lossy(bytes: &[u8]) -> Cow<'_, str> {
| +++
warning: lifetime flowing from input to output with different syntax can be confusing
--> serde_derive/src/internals/attr.rs:612:23
|
612 | pub fn serde_path(&self) -> Cow<syn::Path> {
| ^^^^^ -------------- the lifetime gets resolved as `'_`
| |
| this lifetime flows to the output
|
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
|
612 | pub fn serde_path(&self) -> Cow<'_, syn::Path> {
| +++
warning: lifetime flowing from input to output with different syntax can be confusing
--> serde_derive/src/internals/case.rs:45:37
|
45 | pub fn from_str(rename_all_str: &str) -> Result<Self, ParseError> {
| ^^^^ ---------- the lifetime gets resolved as `'_`
| |
| this lifetime flows to the output
|
help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
|
45 | pub fn from_str(rename_all_str: &str) -> Result<Self, ParseError<'_>> {
| ++++
warning: lifetime flowing from input to output with different syntax can be confusing
--> serde_derive/src/de.rs:3228:13
|
3228 | params: &Parameters,
| ^^^^^^^^^^^ this lifetime flows to the output
3229 | ) -> (
3230 | DeImplGenerics,
| -------------- the lifetimes get resolved as `'_`
3231 | DeTypeGenerics,
| -------------- the lifetimes get resolved as `'_`
3232 | syn::TypeGenerics,
| ----------------- the lifetimes get resolved as `'_`
3233 | Option<&syn::WhereClause>,
| ----------------- the lifetimes get resolved as `'_`
|
help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
|
3230 ~ DeImplGenerics<'_>,
3231 ~ DeTypeGenerics<'_>,
3232 ~ syn::TypeGenerics<'_>,
|
Allow deprecated in the `Serialize`/`Deserialize`
derive implementations. This allows you to
deprecate structs, enums, struct fields, or enum
variants and not get compiler warnings/errors
about use of deprecated thing. We only do this
if `#[deprecated]` or `#[allow(deprecated)]` exist
on the root object or the variants of the root
object (if it is an enum).
Resolves#2195
warning: unused import: `syn::punctuated::Punctuated`
--> serde_derive/src/internals/receiver.rs:5:5
|
5 | use syn::punctuated::Punctuated;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
Left by the previous commit.
- let segments = mem::replace(&mut path.segments, Punctuated::new());
+ let segments = mem::take(&mut path.segments);
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> serde_derive/src/internals/receiver.rs:52:24
|
52 | let segments = mem::replace(&mut path.segments, Punctuated::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut path.segments)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
= note: `-W clippy::mem-replace-with-default` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::mem_replace_with_default)]`
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:124:6
|
124 | impl<'de, E> IntoDeserializer<'de, E> for ()
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
= note: `-W clippy::elidable-lifetime-names` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::elidable_lifetime_names)]`
help: elide the lifetimes
|
124 - impl<'de, E> IntoDeserializer<'de, E> for ()
124 + impl<E> IntoDeserializer<'_, E> for ()
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:178:6
|
178 | impl<'de, E> IntoDeserializer<'de, E> for UnitDeserializer<E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
178 - impl<'de, E> IntoDeserializer<'de, E> for UnitDeserializer<E>
178 + impl<E> IntoDeserializer<'_, E> for UnitDeserializer<E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:207:6
|
207 | impl<'de, E> IntoDeserializer<'de, E> for !
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
207 - impl<'de, E> IntoDeserializer<'de, E> for !
207 + impl<E> IntoDeserializer<'_, E> for !
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:240:6
|
240 | impl<'de, E> IntoDeserializer<'de, E> for NeverDeserializer<E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
240 - impl<'de, E> IntoDeserializer<'de, E> for NeverDeserializer<E>
240 + impl<E> IntoDeserializer<'_, E> for NeverDeserializer<E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:351:6
|
351 | impl<'de, E> IntoDeserializer<'de, E> for u32
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
351 - impl<'de, E> IntoDeserializer<'de, E> for u32
351 + impl<E> IntoDeserializer<'_, E> for u32
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:406:6
|
406 | impl<'de, E> IntoDeserializer<'de, E> for U32Deserializer<E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
406 - impl<'de, E> IntoDeserializer<'de, E> for U32Deserializer<E>
406 + impl<E> IntoDeserializer<'_, E> for U32Deserializer<E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:451:6
|
451 | impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
451 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
451 + impl<'a, E> IntoDeserializer<'_, E> for &'a str
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:472:11
|
472 | impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
472 - impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
472 + impl<'de, E> de::Deserializer<'de> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'de, 'a
--> serde/src/de/value.rs:506:6
|
506 | impl<'de, 'a, E> IntoDeserializer<'de, E> for StrDeserializer<'a, E>
| ^^^ ^^ ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
506 - impl<'de, 'a, E> IntoDeserializer<'de, E> for StrDeserializer<'a, E>
506 + impl<E> IntoDeserializer<'_, E> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:517:11
|
517 | impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
517 - impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
517 + impl<'de, E> de::EnumAccess<'de> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:532:6
|
532 | impl<'a, E> Debug for StrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
532 - impl<'a, E> Debug for StrDeserializer<'a, E> {
532 + impl<E> Debug for StrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:622:6
|
622 | impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
622 - impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
622 + impl<E> Debug for BorrowedStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:653:6
|
653 | impl<'de, E> IntoDeserializer<'de, E> for String
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
653 - impl<'de, E> IntoDeserializer<'de, E> for String
653 + impl<E> IntoDeserializer<'_, E> for String
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:711:6
|
711 | impl<'de, E> IntoDeserializer<'de, E> for StringDeserializer<E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
711 - impl<'de, E> IntoDeserializer<'de, E> for StringDeserializer<E>
711 + impl<E> IntoDeserializer<'_, E> for StringDeserializer<E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:759:6
|
759 | impl<'a, E> Clone for CowStrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
759 - impl<'a, E> Clone for CowStrDeserializer<'a, E> {
759 + impl<E> Clone for CowStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:770:6
|
770 | impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
770 - impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
770 + impl<'a, E> IntoDeserializer<'_, E> for Cow<'a, str>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:793:11
|
793 | impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
793 - impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
793 + impl<'de, E> de::Deserializer<'de> for CowStrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'de, 'a
--> serde/src/de/value.rs:831:6
|
831 | impl<'de, 'a, E> IntoDeserializer<'de, E> for CowStrDeserializer<'a, E>
| ^^^ ^^ ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
831 - impl<'de, 'a, E> IntoDeserializer<'de, E> for CowStrDeserializer<'a, E>
831 + impl<E> IntoDeserializer<'_, E> for CowStrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:843:11
|
843 | impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
843 - impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
843 + impl<'de, E> de::EnumAccess<'de> for CowStrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:859:6
|
859 | impl<'a, E> Debug for CowStrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
859 - impl<'a, E> Debug for CowStrDeserializer<'a, E> {
859 + impl<E> Debug for CowStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:888:6
|
888 | impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
888 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
888 + impl<'a, E> IntoDeserializer<'_, E> for &'a [u8]
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:899:11
|
899 | impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
899 - impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
899 + impl<'de, E> Deserializer<'de> for BytesDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'de, 'a
--> serde/src/de/value.rs:919:6
|
919 | impl<'de, 'a, E> IntoDeserializer<'de, E> for BytesDeserializer<'a, E>
| ^^^ ^^ ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
919 - impl<'de, 'a, E> IntoDeserializer<'de, E> for BytesDeserializer<'a, E>
919 + impl<E> IntoDeserializer<'_, E> for BytesDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:930:6
|
930 | impl<'a, E> Debug for BytesDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
930 - impl<'a, E> Debug for BytesDeserializer<'a, E> {
930 + impl<E> Debug for BytesDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:989:6
|
989 | impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
989 - impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
989 + impl<E> Debug for BorrowedBytesDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1238:6
|
1238 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1238 - impl<'de, I, E> MapDeserializer<'de, I, E>
1238 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1255:6
|
1255 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1255 - impl<'de, I, E> MapDeserializer<'de, I, E>
1255 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1278:6
|
1278 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1278 - impl<'de, I, E> MapDeserializer<'de, I, E>
1278 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1439:6
|
1439 | impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1439 - impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
1439 + impl<I, E> Clone for MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1456:6
|
1456 | impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1456 - impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
1456 + impl<I, E> Debug for MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:17:6
|
17 | impl<'de> Visitor<'de> for UnitVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
17 - impl<'de> Visitor<'de> for UnitVisitor {
17 + impl Visitor<'_> for UnitVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:56:6
|
56 | impl<'de> Visitor<'de> for BoolVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
56 - impl<'de> Visitor<'de> for BoolVisitor {
56 + impl Visitor<'_> for BoolVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:550:6
|
550 | impl<'de> Visitor<'de> for CharVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
550 - impl<'de> Visitor<'de> for CharVisitor {
550 + impl Visitor<'_> for CharVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:596:6
|
596 | impl<'de> Visitor<'de> for StringVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
596 - impl<'de> Visitor<'de> for StringVisitor {
596 + impl Visitor<'_> for StringVisitor {
|
warning: the following explicit lifetimes could be elided: 'a, 'de
--> serde/src/de/impls.rs:642:6
|
642 | impl<'a, 'de> Visitor<'de> for StringInPlaceVisitor<'a> {
| ^^ ^^^ ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
642 - impl<'a, 'de> Visitor<'de> for StringInPlaceVisitor<'a> {
642 + impl Visitor<'_> for StringInPlaceVisitor<'_> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:953:6
|
953 | impl<'de, T> Visitor<'de> for PhantomDataVisitor<T>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
953 - impl<'de, T> Visitor<'de> for PhantomDataVisitor<T>
953 + impl<T> Visitor<'_> for PhantomDataVisitor<T>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/impls.rs:1195:14
|
1195 | impl<'a, 'de, T> Visitor<'de> for VecInPlaceVisitor<'a, T>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1195 - impl<'a, 'de, T> Visitor<'de> for VecInPlaceVisitor<'a, T>
1195 + impl<'de, T> Visitor<'de> for VecInPlaceVisitor<'_, T>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:1838:6
|
1838 | impl<'de> Visitor<'de> for PathBufVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1838 - impl<'de> Visitor<'de> for PathBufVisitor {
1838 + impl Visitor<'_> for PathBufVisitor {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/impls.rs:1991:11
|
1991 | impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1991 - impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>
1991 + impl<'de, T> Deserialize<'de> for Cow<'_, T>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2161:22
|
2161 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2161 - impl<'de> Visitor<'de> for FieldVisitor {
2161 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2300:22
|
2300 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2300 - impl<'de> Visitor<'de> for FieldVisitor {
2300 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2501:18
|
2501 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2501 - impl<'de> Visitor<'de> for FieldVisitor {
2501 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2658:18
|
2658 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2658 - impl<'de> Visitor<'de> for FieldVisitor {
2658 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2796:18
|
2796 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2796 - impl<'de> Visitor<'de> for FieldVisitor {
2796 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:2907:22
|
2907 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2907 - impl<'de> Visitor<'de> for FieldVisitor {
2907 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:3018:22
|
3018 | impl<'de> Visitor<'de> for FieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
3018 - impl<'de> Visitor<'de> for FieldVisitor {
3018 + impl Visitor<'_> for FieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/impls.rs:3166:6
|
3166 | impl<'de, T> Visitor<'de> for FromStrVisitor<T>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
3166 - impl<'de, T> Visitor<'de> for FromStrVisitor<T>
3166 + impl<T> Visitor<'_> for FromStrVisitor<T>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:397:6
|
397 | impl<'a> fmt::Display for Unexpected<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
397 - impl<'a> fmt::Display for Unexpected<'a> {
397 + impl fmt::Display for Unexpected<'_> {
|
warning: the following explicit lifetimes could be elided: 'f, 'a
--> serde/src/de/mod.rs:2309:14
|
2309 | impl<'f, 'a> fmt::Write for LookForDecimalPoint<'f, 'a> {
| ^^ ^^ ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2309 - impl<'f, 'a> fmt::Write for LookForDecimalPoint<'f, 'a> {
2309 + impl fmt::Write for LookForDecimalPoint<'_, '_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/ser/fmt.rs:38:6
|
38 | impl<'a> Serializer for &mut fmt::Formatter<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
38 - impl<'a> Serializer for &mut fmt::Formatter<'a> {
38 + impl Serializer for &mut fmt::Formatter<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/ser/impls.rs:62:6
|
62 | impl<'a> Serialize for fmt::Arguments<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
62 - impl<'a> Serialize for fmt::Arguments<'a> {
62 + impl Serialize for fmt::Arguments<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/format.rs:20:6
|
20 | impl<'a> Write for Buf<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
20 - impl<'a> Write for Buf<'a> {
20 + impl Write for Buf<'_> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/private/de.rs:254:10
|
254 | impl<'de> Content<'de> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
254 - impl<'de> Content<'de> {
254 + impl Content<'_> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/private/de.rs:333:10
|
333 | impl<'de> ContentVisitor<'de> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
333 - impl<'de> ContentVisitor<'de> {
333 + impl ContentVisitor<'_> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/private/de.rs:553:10
|
553 | impl<'de> TagOrContentVisitor<'de> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
553 - impl<'de> TagOrContentVisitor<'de> {
553 + impl TagOrContentVisitor<'_> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/private/de.rs:937:10
|
937 | impl<'de> Visitor<'de> for TagOrContentFieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
937 - impl<'de> Visitor<'de> for TagOrContentFieldVisitor {
937 + impl Visitor<'_> for TagOrContentFieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/private/de.rs:1014:10
|
1014 | impl<'de> Visitor<'de> for TagContentOtherFieldVisitor {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1014 - impl<'de> Visitor<'de> for TagContentOtherFieldVisitor {
1014 + impl Visitor<'_> for TagContentOtherFieldVisitor {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:1652:10
|
1652 | impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1652 - impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E>
1652 + impl<'de, E> ContentRefDeserializer<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:1735:15
|
1735 | impl<'de, 'a, E> Deserializer<'de> for ContentRefDeserializer<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
1735 - impl<'de, 'a, E> Deserializer<'de> for ContentRefDeserializer<'a, 'de, E>
1735 + impl<'de, E> Deserializer<'de> for ContentRefDeserializer<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2162:15
|
2162 | impl<'de, 'a, E> de::VariantAccess<'de> for VariantRefDeserializer<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2162 - impl<'de, 'a, E> de::VariantAccess<'de> for VariantRefDeserializer<'a, 'de, E>
2162 + impl<'de, E> de::VariantAccess<'de> for VariantRefDeserializer<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2259:15
|
2259 | impl<'de, 'a, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2259 - impl<'de, 'a, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'a, 'de, E>
2259 + impl<'de, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2288:15
|
2288 | impl<'de, 'a> Visitor<'de> for InternallyTaggedUnitVisitor<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2288 - impl<'de, 'a> Visitor<'de> for InternallyTaggedUnitVisitor<'a> {
2288 + impl<'de> Visitor<'de> for InternallyTaggedUnitVisitor<'_> {
|
warning: the following explicit lifetimes could be elided: 'de, 'a
--> serde/src/private/de.rs:2333:10
|
2333 | impl<'de, 'a> Visitor<'de> for UntaggedUnitVisitor<'a> {
| ^^^ ^^ ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2333 - impl<'de, 'a> Visitor<'de> for UntaggedUnitVisitor<'a> {
2333 + impl Visitor<'_> for UntaggedUnitVisitor<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2396:11
|
2396 | impl<'de, 'a, E> Deserializer<'de> for StrDeserializer<'a, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2396 - impl<'de, 'a, E> Deserializer<'de> for StrDeserializer<'a, E>
2396 + impl<'de, E> Deserializer<'de> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a, 'de
--> serde/src/private/de.rs:2498:6
|
2498 | impl<'a, 'de, E> FlatMapDeserializer<'a, 'de, E>
| ^^ ^^^ ^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2498 - impl<'a, 'de, E> FlatMapDeserializer<'a, 'de, E>
2498 + impl<E> FlatMapDeserializer<'_, '_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2522:6
|
2522 | impl<'a, 'de, E> Deserializer<'de> for FlatMapDeserializer<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2522 - impl<'a, 'de, E> Deserializer<'de> for FlatMapDeserializer<'a, 'de, E>
2522 + impl<'de, E> Deserializer<'de> for FlatMapDeserializer<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2658:6
|
2658 | impl<'a, 'de, E> MapAccess<'de> for FlatMapAccess<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2658 - impl<'a, 'de, E> MapAccess<'de> for FlatMapAccess<'a, 'de, E>
2658 + impl<'de, E> MapAccess<'de> for FlatMapAccess<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/private/de.rs:2702:6
|
2702 | impl<'a, 'de, E> MapAccess<'de> for FlatStructAccess<'a, 'de, E>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
2702 - impl<'a, 'de, E> MapAccess<'de> for FlatStructAccess<'a, 'de, E>
2702 + impl<'de, E> MapAccess<'de> for FlatStructAccess<'_, 'de, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/seed.rs:8:6
|
8 | impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T>
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
8 - impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T>
8 + impl<'de, T> DeserializeSeed<'de> for InPlaceSeed<'_, T>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/internals/case.rs:124:6
|
124 | impl<'a> Display for ParseError<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
= note: `-W clippy::elidable-lifetime-names` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::elidable_lifetime_names)]`
help: elide the lifetimes
|
124 - impl<'a> Display for ParseError<'a> {
124 + impl Display for ParseError<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/de.rs:3109:6
|
3109 | impl<'a> ToTokens for DeImplGenerics<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
3109 - impl<'a> ToTokens for DeImplGenerics<'a> {
3109 + impl ToTokens for DeImplGenerics<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/de.rs:3191:6
|
3191 | impl<'a> ToTokens for DeTypeGenerics<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
help: elide the lifetimes
|
3191 - impl<'a> ToTokens for DeTypeGenerics<'a> {
3191 + impl ToTokens for DeTypeGenerics<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> test_suite/tests/test_serde_path.rs:16:10
|
16 | impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
= note: `-W clippy::elidable-lifetime-names` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::elidable_lifetime_names)]`
help: elide the lifetimes
|
16 - impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
16 + impl AssertNotSerdeDeserialize<'_> for Foo {}
|