This prevents diagnostics being rendered like `serde_core::ser::Serialize`
and `serde_core:🇩🇪:Deserialize` in projects that have no direct
dependency on serde_core.
The attributes make error messages arguably sometimes worse than
pre-serde_core by always rendering `serde::Serialize` and never
`Serialize` when `use serde::Serialize` is in scope, which rustc's
default message construction knows to recognize. But this is probably
negligible.
I explored the alternative of setting `[lib] name = "serde"` in
serde_core/Cargo.toml which also prevents `serde_core::ser::Serialize`
in messages, but has the unwanted effect of also inserting the following
noise into every such error:
note: there are multiple different versions of crate `serde` in the dependency graph
--> $WORKSPACE/serde_core/src/ser/mod.rs:225:1
|
225 | pub trait Serialize {
| ^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/main.rs:1:1
|
1 | struct MyStruct;
| --------------- this type doesn't implement the required trait
...
4 | let _ = serde_json::to_string(&MyStruct);
| ----------
| |
| one version of crate `serde` used here, as a dependency of crate `serde`
| one version of crate `serde` used here, as a dependency of crate `serde_json`
|
::: $WORKSPACE/serde/src/private/de.rs:2347:1
|
2347 | pub trait IdentifierDeserializer<'de, E: Error> {
| ----------------------------------------------- this is the found trait
= help: you can use `cargo tree` to explore your dependency tree
The "this is the found trait" pointing to `IdentifierDeserializer` seems
like a compiler bug...
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
Updated the Cargo.toml files for test suites and a link in the README to use Rust edition 2021 instead of 2018. This ensures compatibility with the latest Rust features and standards.
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 {}
|