warning: lint `clippy::empty_enum` has been renamed to `clippy::empty_enums`
--> serde/src/lib.rs:122:5
|
122 | clippy::empty_enum,
| ^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::empty_enums`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::empty_enum` has been renamed to `clippy::empty_enums`
--> serde_core/src/lib.rs:57:5
|
57 | clippy::empty_enum,
| ^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::empty_enums`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::empty_enum` has been renamed to `clippy::empty_enums`
--> test_suite/tests/test_de.rs:5:5
|
5 | clippy::empty_enum,
| ^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::empty_enums`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::empty_enum` has been renamed to `clippy::empty_enums`
--> test_suite/tests/test_de_error.rs:3:5
|
3 | clippy::empty_enum,
| ^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::empty_enums`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
deserialize_untagged_variant in that place is called when deserialzie_with attribute is set.
In that case it performs special actions that is better to use explicitly in deserialize_untagged_variant
for readability
Since separation of serde_core from serde, all doctests lives in serde_core project,
which also does not have the `derive` feature. Following the old instructions does not
run any tests.
Greatly shrinks symbol sizes: keep all those generic type parameters
(and even closures) out of symbol names. A good change even independent
of serde_core.
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.
This prevents diagnostics being rendered like `serde_core::ser::Serialize`
and `serde_core::de::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 {}
|
This step has been failing way more than reasonable across my various repos.
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Attempt 1 of 5 failed with error: Request timeout: /twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact. Retrying request in 3000 ms...
Attempt 2 of 5 failed with error: Request timeout: /twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact. Retrying request in 6029 ms...
Attempt 3 of 5 failed with error: Request timeout: /twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact. Retrying request in 8270 ms...
Attempt 4 of 5 failed with error: Request timeout: /twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact. Retrying request in 12577 ms...
Error: Failed to CreateArtifact: Failed to make request after 5 attempts: Request timeout: /twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact
- Check that alias is not the same as name of other field (it still can be the name of owning field/variant)
- Check that aliases are unique, i. e. two different fields does not use the same alias
Unfortunately, blanket implementation IntoDeserializer for Deserializer is impossible
right now because this would be a breaking change. External crates may have this
such implementation (and serde_json actually have it for Value)
warning: field `0` is never read
--> test_suite/tests/regression/issue2846.rs:8:45
|
8 | pub struct S(#[serde(with = $with)] i32);
| - field in this struct ^^^
...
12 | declare_in_macro!("with");
| ------------------------- in this macro invocation
|
= help: consider removing this field
= note: `#[warn(dead_code)]` on by default
= note: this warning originates in the macro `declare_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0425]: cannot find value `__e` in this scope
--> test_suite/tests/regression/issue2846.rs:12:19
|
12 | declare_in_macro!("with");
| ^^^^^^ not found in this scope
warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
--> test_suite/tests/regression/issue2844.rs:18:28
|
18 | pub fn serialize<S>(_: &i32, _: S) -> Result<S::Ok, S::Error>
| ^^^^ help: consider passing by value instead: `i32`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref
= note: `-W clippy::trivially-copy-pass-by-ref` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::trivially_copy_pass_by_ref)]`
error[E0424]: expected value, found module `self`
--> test_suite/tests/regression/issue2844.rs:13:19
|
5 | #[derive(Serialize, Deserialize)]
| --------- this function has a `self` parameter, but a macro invocation can only access identifiers it receives from parameters
...
13 | declare_in_macro!("with");
| ^^^^^^ `self` value is a keyword only available in methods with a `self` parameter
error[E0425]: cannot find value `__s` in this scope
--> test_suite/tests/regression/issue2844.rs:13:19
|
13 | declare_in_macro!("with");
| ^^^^^^ not found in this scope
error[E0425]: cannot find value `__deserializer` in this scope
--> test_suite/tests/regression/issue2844.rs:13:19
|
13 | declare_in_macro!("with");
| ^^^^^^ not found in this scope
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:546:36
|
546 | meta.error(format_args!("unknown serde container attribute `{}`", path))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `-W clippy::uninlined-format-args` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::uninlined_format_args)]`
help: change this to
|
546 - meta.error(format_args!("unknown serde container attribute `{}`", path))
546 + meta.error(format_args!("unknown serde container attribute `{path}`"))
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:940:36
|
940 | meta.error(format_args!("unknown serde variant attribute `{}`", path))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
940 - meta.error(format_args!("unknown serde variant attribute `{}`", path))
940 + meta.error(format_args!("unknown serde variant attribute `{path}`"))
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1095:33
|
1095 | ... format!("field `{}` does not have lifetime {}", ident, lifetime);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1095 - format!("field `{}` does not have lifetime {}", ident, lifetime);
1095 + format!("field `{ident}` does not have lifetime {lifetime}");
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1196:47
|
1196 | ... let msg = format!(
| _________________________________^
1197 | | ... "field `{}` does not have lifetime {}",
1198 | | ... ident, lifetime,
1199 | | ... );
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1222:36
|
1222 | meta.error(format_args!("unknown serde field attribute `{}`", path))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1222 - meta.error(format_args!("unknown serde field attribute `{}`", path))
1222 + meta.error(format_args!("unknown serde field attribute `{path}`"))
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1415:39
|
1415 | return Err(meta.error(format_args!(
| _______________________________________^
1416 | | "malformed {0} attribute, expected `{0}(serialize = ..., deserialize = ...)`",
1417 | | attr_name,
1418 | | )));
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1482:17
|
1482 | format!("unexpected suffix `{}` on string literal", suffix),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1482 - format!("unexpected suffix `{}` on string literal", suffix),
1482 + format!("unexpected suffix `{suffix}` on string literal"),
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1489:13
|
1489 | / format!(
1490 | | "expected serde {} attribute to be a string: `{} = \"...\"`",
1491 | | attr_name, meta_item_name
1492 | | ),
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1604:21
|
1604 | format!("duplicate borrowed lifetime `{}`", lifetime),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1604 - format!("duplicate borrowed lifetime `{}`", lifetime),
1604 + format!("duplicate borrowed lifetime `{lifetime}`"),
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/attr.rs:1778:19
|
1778 | let msg = format!("field `{}` has no lifetimes to borrow", name);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1778 - let msg = format!("field `{}` has no lifetimes to borrow", name);
1778 + let msg = format!("field `{name}` has no lifetimes to borrow");
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/check.rs:41:29
|
41 | ... format!("field must have #[serde(default)] because previous field {} has #[serde(default)]", first),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
41 - format!("field must have #[serde(default)] because previous field {} has #[serde(default)]", first),
41 + format!("field must have #[serde(default)] because previous field {first} has #[serde(default)]"),
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/check.rs:314:13
|
314 | format!("variant field name `{}` conflicts with internal tag", tag),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
314 - format!("variant field name `{}` conflicts with internal tag", tag),
314 + format!("variant field name `{tag}` conflicts with internal tag"),
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/check.rs:361:13
|
361 | / format!(
362 | | "enum tags `{}` for type and content conflict with each other",
363 | | type_tag
364 | | ),
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
warning: variables can be used directly in the `format!` string
--> serde_derive/src/internals/check.rs:450:33
|
450 | Member::Named(ident) => format!("`{}`", ident),
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
450 - Member::Named(ident) => format!("`{}`", ident),
450 + Member::Named(ident) => format!("`{ident}`"),
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/de.rs:697:9
|
697 | format!("{} with 1 element", expecting)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
697 - format!("{} with 1 element", expecting)
697 + format!("{expecting} with 1 element")
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/de.rs:699:9
|
699 | format!("{} with {} elements", expecting, deserialized_count)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
699 - format!("{} with {} elements", expecting, deserialized_count)
699 + format!("{expecting} with {deserialized_count} elements")
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/de.rs:1442:21
|
1442 | let expecting = format!("adjacently tagged enum {}", rust_name);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1442 - let expecting = format!("adjacently tagged enum {}", rust_name);
1442 + let expecting = format!("adjacently tagged enum {rust_name}");
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/de.rs:2842:17
|
2842 | Ident::new(&format!("__field{}", i), Span::call_site())
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
2842 - Ident::new(&format!("__field{}", i), Span::call_site())
2842 + Ident::new(&format!("__field{i}"), Span::call_site())
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/ser.rs:457:42
|
457 | .map(|i| Ident::new(&format!("__field{}", i), Span::call_site()));
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
457 - .map(|i| Ident::new(&format!("__field{}", i), Span::call_site()));
457 + .map(|i| Ident::new(&format!("__field{i}"), Span::call_site()));
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/ser.rs:714:48
|
714 | .map(|i| Member::Named(Ident::new(&format!("__field{}", i), Span::call_site())))
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
714 - .map(|i| Member::Named(Ident::new(&format!("__field{}", i), Span::call_site())))
714 + .map(|i| Member::Named(Ident::new(&format!("__field{i}"), Span::call_site())))
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/ser.rs:832:46
|
832 | let field_expr = Ident::new(&format!("__field{}", i), Span::call_site());
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
832 - let field_expr = Ident::new(&format!("__field{}", i), Span::call_site());
832 + let field_expr = Ident::new(&format!("__field{i}"), Span::call_site());
|
warning: variables can be used directly in the `format!` string
--> serde_derive/src/ser.rs:1062:38
|
1062 | let id = Ident::new(&format!("__field{}", i), Span::call_site());
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
1062 - let id = Ident::new(&format!("__field{}", i), Span::call_site());
1062 + let id = Ident::new(&format!("__field{i}"), Span::call_site());
|
warning: some variants are not matched explicitly
--> serde_derive/src/internals/receiver.rs:209:15
|
209 | match bound {
| ^^^^^ pattern `&mut TypeParamBound::PreciseCapture(_)` not covered
|
= help: ensure that all variants are matched explicitly by adding the suggested match arms
= note: the matched value is of type `&mut TypeParamBound` and the `non_exhaustive_omitted_patterns` attribute was found
note: the lint level is defined here
--> serde_derive/src/internals/receiver.rs:210:53
|
210 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: some variants are not matched explicitly
--> serde_derive/src/bound.rs:227:19
|
227 | match bound {
| ^^^^^ pattern `&TypeParamBound::PreciseCapture(_)` not covered
|
= help: ensure that all variants are matched explicitly by adding the suggested match arms
= note: the matched value is of type `&TypeParamBound` and the `non_exhaustive_omitted_patterns` attribute was found
note: the lint level is defined here
--> serde_derive/src/bound.rs:228:57
|
228 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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#needless_lifetimes
= note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
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:196:6
|
196 | impl<'de, E> IntoDeserializer<'de, E> for !
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
196 - impl<'de, E> IntoDeserializer<'de, E> for !
196 + impl<E> IntoDeserializer<'_, E> for !
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:317:6
|
317 | impl<'de, E> IntoDeserializer<'de, E> for u32
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
317 - impl<'de, E> IntoDeserializer<'de, E> for u32
317 + 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, 'a, E> IntoDeserializer<'de, E> for &'a str
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
406 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
406 + impl<'a, E> IntoDeserializer<'_, E> for &'a str
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:427:11
|
427 | 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#needless_lifetimes
help: elide the lifetimes
|
427 - impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
427 + impl<'de, E> de::Deserializer<'de> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:461:11
|
461 | 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#needless_lifetimes
help: elide the lifetimes
|
461 - impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
461 + impl<'de, E> de::EnumAccess<'de> for StrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:476:6
|
476 | impl<'a, E> Debug for StrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
476 - impl<'a, E> Debug for StrDeserializer<'a, E> {
476 + impl<E> Debug for StrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:555:6
|
555 | impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
555 - impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
555 + impl<E> Debug for BorrowedStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:586:6
|
586 | impl<'de, E> IntoDeserializer<'de, E> for String
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
586 - impl<'de, E> IntoDeserializer<'de, E> for String
586 + impl<E> IntoDeserializer<'_, E> for String
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:680:6
|
680 | impl<'a, E> Clone for CowStrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
680 - impl<'a, E> Clone for CowStrDeserializer<'a, E> {
680 + impl<E> Clone for CowStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:691:6
|
691 | 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#needless_lifetimes
help: elide the lifetimes
|
691 - impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
691 + impl<'a, E> IntoDeserializer<'_, E> for Cow<'a, str>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:714:11
|
714 | 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#needless_lifetimes
help: elide the lifetimes
|
714 - impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
714 + impl<'de, E> de::Deserializer<'de> for CowStrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:752:11
|
752 | 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#needless_lifetimes
help: elide the lifetimes
|
752 - impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
752 + impl<'de, E> de::EnumAccess<'de> for CowStrDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:768:6
|
768 | impl<'a, E> Debug for CowStrDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
768 - impl<'a, E> Debug for CowStrDeserializer<'a, E> {
768 + impl<E> Debug for CowStrDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:797:6
|
797 | 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#needless_lifetimes
help: elide the lifetimes
|
797 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
797 + impl<'a, E> IntoDeserializer<'_, E> for &'a [u8]
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:808:11
|
808 | 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#needless_lifetimes
help: elide the lifetimes
|
808 - impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
808 + impl<'de, E> Deserializer<'de> for BytesDeserializer<'_, E>
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/value.rs:828:6
|
828 | impl<'a, E> Debug for BytesDeserializer<'a, E> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
828 - impl<'a, E> Debug for BytesDeserializer<'a, E> {
828 + impl<E> Debug for BytesDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:876:6
|
876 | impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
876 - impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
876 + impl<E> Debug for BorrowedBytesDeserializer<'_, E> {
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1101:6
|
1101 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1101 - impl<'de, I, E> MapDeserializer<'de, I, E>
1101 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1118:6
|
1118 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1118 - impl<'de, I, E> MapDeserializer<'de, I, E>
1118 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1141:6
|
1141 | impl<'de, I, E> MapDeserializer<'de, I, E>
| ^^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1141 - impl<'de, I, E> MapDeserializer<'de, I, E>
1141 + impl<I, E> MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1287:6
|
1287 | 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#needless_lifetimes
help: elide the lifetimes
|
1287 - impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
1287 + impl<I, E> Clone for MapDeserializer<'_, I, E>
|
warning: the following explicit lifetimes could be elided: 'de
--> serde/src/de/value.rs:1304:6
|
1304 | 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#needless_lifetimes
help: elide the lifetimes
|
1304 - impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
1304 + 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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
help: elide the lifetimes
|
596 - impl<'de> Visitor<'de> for StringVisitor {
596 + impl Visitor<'_> for StringVisitor {
|
warning: the following explicit lifetimes could be elided: 'de, 'a
--> 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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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: 'a, 'de
--> 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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
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#needless_lifetimes
= note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
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:3042:6
|
3042 | impl<'a> ToTokens for DeImplGenerics<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
3042 - impl<'a> ToTokens for DeImplGenerics<'a> {
3042 + impl ToTokens for DeImplGenerics<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/de.rs:3124:6
|
3124 | impl<'a> ToTokens for DeTypeGenerics<'a> {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
3124 - impl<'a> ToTokens for DeTypeGenerics<'a> {
3124 + impl ToTokens for DeTypeGenerics<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> test_suite/tests/test_serde_path.rs:15:10
|
15 | impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
= note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
help: elide the lifetimes
|
15 - impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
15 + impl AssertNotSerdeDeserialize<'_> for Foo {}
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:489:6
|
489 | impl<'a> Expected for &'a str {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
489 - impl<'a> Expected for &'a str {
489 + impl Expected for &str {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:495:6
|
495 | impl<'a> Display for Expected + 'a {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
495 - impl<'a> Display for Expected + 'a {
495 + impl Display for Expected + '_ {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:1744:11
|
1744 | impl<'de, 'a, A> SeqAccess<'de> for &'a mut A
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1744 - impl<'de, 'a, A> SeqAccess<'de> for &'a mut A
1744 + impl<'de, A> SeqAccess<'de> for &mut A
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:1897:11
|
1897 | impl<'de, 'a, A> MapAccess<'de> for &'a mut A
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1897 - impl<'de, 'a, A> MapAccess<'de> for &'a mut A
1897 + impl<'de, A> MapAccess<'de> for &mut A
|
warning: the following explicit lifetimes could be elided: 'a, 'b
--> serde/src/ser/fmt.rs:38:6
|
38 | impl<'a, 'b> Serializer for &'a mut fmt::Formatter<'b> {
| ^^ ^^ ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
38 - impl<'a, 'b> Serializer for &'a mut fmt::Formatter<'b> {
38 + impl Serializer for &mut fmt::Formatter<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/internals/symbol.rs:49:6
|
49 | impl<'a> PartialEq<Symbol> for &'a Ident {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
49 - impl<'a> PartialEq<Symbol> for &'a Ident {
49 + impl PartialEq<Symbol> for &Ident {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/internals/symbol.rs:61:6
|
61 | impl<'a> PartialEq<Symbol> for &'a Path {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
61 - impl<'a> PartialEq<Symbol> for &'a Path {
61 + impl PartialEq<Symbol> for &Path {
|
Although they are slightly different, this difference is irrelevant:
- MapDeserializer has a specialization for deserialize_seq and deserialize_tuple, but
only MapRefDeserializer::deserialize_any is used by the code which is almost the same
- MapDeserializer checks that map was consumed after visit_map, but MapRefDeserializer
does not. Actually, each derived implementation consumes map and each manual implementation
also should consume it
Also, MapDeserializer already used when value deserialized from ContentRefDeserializer
directly and MapRefDeserializer was only used to deserialize Struct variants of enums.
There are no reasons why the behavior should be different in those two cases
SeqRefDeserializer::deserialize_any has a special condition for empty sequence, which
emits visit_unit. That condition assumes that type would be able to deserialized from
unit, but:
1) struct variants was never able to deserialize from it (they expect only visit_map or visit_seq)
2) tuple variants even with zero fields expect visit_seq only. The suggestion to accept visit_unit
instead was rejected in #2520
Fixes (2):
newtype_enum::tuple0
newtype_enum::empty_struct_from_seq
`newtype` test also integrates test with `Bytes` tag, so be like
Removed the first assert_tokens because it is the same as the first assert in the merged method
Special case is the tag field first (so the enum variant are known after reading the first entry from map).
General case is the tag field not the first (so we need to buffer entries until we found an entry with tag)
Separate testing each variant kind of enum (unit, newtype, tuple, struct) results
in more specific information if that checks fail
(review this commit with "ignore whitespace changes" option on)
Consequence: `FlattenSkipDeserializing[DenyUnknown]`
- does not collect data in Field, because do not read them anyway
- gets `deserialize_in_place` method
- gets ability to deserialize from sequence (visit_seq method)
- uses `deserialize_struct` instead of `deserialize_map`
error: collection is never read
--> test_suite/tests/test_gen.rs:723:25
|
723 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:23:9
|
23 | #![deny(clippy::collection_is_never_read)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
- Fix incorrect deserialization of variants that doesn't contain flatten field when other contains
- Fix a panic when deriving `Deserialize` for an enum with tuple and struct with flatten field
Fixes (2):
regression::issue2565::simple_variant
regression::issue1904 (compilation)
error: found both `σ` and `o` as identifiers, which look alike
--> test_suite/tests/test_gen.rs:734:13
|
292 | σ: f64,
| - other identifier used here
...
734 | o: T,
| ^ this identifier can be confused with `σ`
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(confusable_idents)]` implied by `#[deny(warnings)]`
error: collection is never read
--> test_suite/tests/test_gen.rs:728:25
|
728 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: collection is never read
--> test_suite/tests/test_gen.rs:722:25
|
722 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:22:9
|
22 | #![deny(clippy::collection_is_never_read)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
The test suite's dependencies cannot be resolved by an old toolchain.
error: failed to select a version for the requirement `toml = "^0.8"`
candidate versions found which didn't match: 0.5.11, 0.5.10, 0.5.9, ...
location searched: crates.io index
required by package `trybuild v1.0.97`
... which satisfies dependency `trybuild = "^1.0.97"` of package `serde_test_suite v0.0.0`
This change enables the `#[diagnostic::on_unimplemented]` attribute for
the `Serialize` and `Deserialize` trait to point the user to the
relevant derives and point out that they might want to check crates
features for external types by adding the relevant hints an note.
warning: the feature `error_in_core` has been stable since 1.81.0-nightly and no longer requires an attribute to enable
--> serde/src/lib.rs:108:43
|
108 | #![cfg_attr(feature = "unstable", feature(error_in_core, never_type))]
| ^^^^^^^^^^^^^
|
= note: `#[warn(stable_features)]` on by default
warning: unexpected `cfg` condition name: `serde_build_from_git`
--> serde_derive_internals/lib.rs:45:12
|
45 | #[cfg_attr(serde_build_from_git, path = "../serde_derive/src/internals/mod.rs")]
| ^^^^^^^^^^^^^^^^^^^^
|
= help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(serde_build_from_git)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition name: `serde_build_from_git`
--> serde_derive_internals/lib.rs:46:16
|
46 | #[cfg_attr(not(serde_build_from_git), path = "src/mod.rs")]
| ^^^^^^^^^^^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(serde_build_from_git)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition value: `deserialize_in_place`
--> serde_derive_internals/src/attr.rs:276:11
|
276 | #[cfg(feature = "deserialize_in_place")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
|
= note: no expected values for `feature`
= help: consider adding `deserialize_in_place` as a feature in `Cargo.toml`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive_internals/src/attr.rs:1797:31
|
1797 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive_internals/src/receiver.rs:110:35
|
110 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive_internals/src/receiver.rs:181:47
|
181 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive_internals/src/receiver.rs:210:35
|
210 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive_internals/src/receiver.rs:231:43
|
231 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/lib.rs:62:23
|
62 | #![cfg_attr(all(test, exhaustive), feature(non_exhaustive_omitted_patterns_lint))]
| ^^^^^^^^^^
|
= help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/internals/attr.rs:1797:31
|
1797 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/internals/receiver.rs:110:35
|
110 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/internals/receiver.rs:181:47
|
181 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/internals/receiver.rs:210:35
|
210 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/internals/receiver.rs:231:43
|
231 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/bound.rs:147:39
|
147 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/bound.rs:199:51
|
199 | ... #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `exhaustive`
--> serde_derive/src/bound.rs:228:39
|
228 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^
|
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `systemtime_checked_add`
--> test_suite/tests/test_de_error.rs:1527:7
|
1527 | #[cfg(systemtime_checked_add)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(systemtime_checked_add)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default
bef110b92a changed the display for unexpected floats to always append a
".0" if there was no decimal point found in the formatting of the float.
However, this should only be relevant for finite (i.e., not NaN or inf)
values. The change introduced a test failure in the ordered-float
crate due to this:
---- impl_serde::test_fail_on_nan stdout ----
thread 'impl_serde::test_fail_on_nan' panicked at 'assertion failed: `(left == right)`
left: `Error { msg: "invalid value: floating point `NaN.0`, expected float (but not NaN)" }`,
right: `"invalid value: floating point `NaN`, expected float (but not NaN)"`', src/lib.rs:1554:9
stack backtrace:
0: rust_begin_unwind
at /usr/src/rustc-1.70.0/library/std/src/panicking.rs:578:5
1: core::panicking::panic_fmt
at /usr/src/rustc-1.70.0/library/core/src/panicking.rs:67:14
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed
at /usr/src/rustc-1.70.0/library/core/src/panicking.rs:228:5
4: serde_test::assert::assert_de_tokens_error
at /usr/share/cargo/registry/serde_test-1.0.171/src/assert.rs:228:19
5: ordered_float::impl_serde::test_fail_on_nan
at ./src/lib.rs:1554:9
6: ordered_float::impl_serde::test_fail_on_nan::{{closure}}
at ./src/lib.rs:1553:27
7: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.70.0/library/core/src/ops/function.rs:250:5
8: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.70.0/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: casting `i32` to `f32` causes a loss of precision (`i32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
457 | / impl_deserialize_num! {
458 | | f32, deserialize_f32
459 | | num_self!(f32:visit_f32);
460 | | num_as_copysign_self!(f64:visit_f64);
461 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
462 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
463 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_precision_loss)]`
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: casting `i64` to `f32` causes a loss of precision (`i64` is 64 bits wide, but `f32`'s mantissa is only 23 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
457 | / impl_deserialize_num! {
458 | | f32, deserialize_f32
459 | | num_self!(f32:visit_f32);
460 | | num_as_copysign_self!(f64:visit_f64);
461 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
462 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
463 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: casting `u32` to `f32` causes a loss of precision (`u32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
457 | / impl_deserialize_num! {
458 | | f32, deserialize_f32
459 | | num_self!(f32:visit_f32);
460 | | num_as_copysign_self!(f64:visit_f64);
461 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
462 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
463 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: casting `u64` to `f32` causes a loss of precision (`u64` is 64 bits wide, but `f32`'s mantissa is only 23 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
457 | / impl_deserialize_num! {
458 | | f32, deserialize_f32
459 | | num_self!(f32:visit_f32);
460 | | num_as_copysign_self!(f64:visit_f64);
461 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
462 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
463 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: casting `i64` to `f64` causes a loss of precision (`i64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
465 | / impl_deserialize_num! {
466 | | f64, deserialize_f64
467 | | num_self!(f64:visit_f64);
468 | | num_as_copysign_self!(f32:visit_f32);
469 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
470 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
471 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: casting `u64` to `f64` causes a loss of precision (`u64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
--> serde/src/de/impls.rs:197:16
|
197 | Ok(v as Self::Value)
| ^^^^^^^^^^^^^^^^
...
465 | / impl_deserialize_num! {
466 | | f64, deserialize_f64
467 | | num_self!(f64:visit_f64);
468 | | num_as_copysign_self!(f32:visit_f32);
469 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
470 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
471 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
= note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
The serialization implementation is heavily
inspired by the existing trait implentation for
`std::num::Wrapping<T>`.
The deserializing implementation maps input values
that lie outside of the numerical range of the
output type to the `MIN` or `MAX` value of the
output type, depending on the sign of the input
value. This behaviour follows to the `Saturating`
semantics of the output type.
fix#2708
warning: usage of a legacy numeric method
--> serde_derive/src/ser.rs:292:51
|
292 | assert!(fields.len() as u64 <= u64::from(u32::max_value()));
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
= note: `#[warn(clippy::legacy_numeric_constants)]` on by default
help: use the associated constant instead
|
292 | assert!(fields.len() as u64 <= u64::from(u32::MAX));
| ~~~
warning: usage of a legacy numeric method
--> serde_derive/src/ser.rs:400:53
|
400 | assert!(variants.len() as u64 <= u64::from(u32::max_value()));
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
help: use the associated constant instead
|
400 | assert!(variants.len() as u64 <= u64::from(u32::MAX));
| ~~~
warning: usage of a legacy numeric method
--> test_suite/tests/test_de_error.rs:1462:29
|
1462 | Token::U64(u64::max_value()),
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
= note: `-W clippy::legacy-numeric-constants` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::legacy_numeric_constants)]`
help: use the associated constant instead
|
1462 | Token::U64(u64::MAX),
| ~~~
warning: usage of a legacy numeric method
--> test_suite/tests/test_de_error.rs:1479:29
|
1479 | Token::U64(u64::max_value()),
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
help: use the associated constant instead
|
1479 | Token::U64(u64::MAX),
| ~~~
warning: usage of a legacy numeric method
--> test_suite/tests/test_de_error.rs:1493:29
|
1493 | Token::U64(u64::max_value()),
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
help: use the associated constant instead
|
1493 | Token::U64(u64::MAX),
| ~~~
warning: usage of a legacy numeric method
--> test_suite/tests/test_de_error.rs:1510:29
|
1510 | Token::U64(u64::max_value()),
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
help: use the associated constant instead
|
1510 | Token::U64(u64::MAX),
| ~~~
Debugging a recent cargo-outdated bug, it would have been nice not to
wonder whether a rustc version change in GitHub's runner image was a
contributing factor.
New in nightly-2024-03-24 from https://github.com/rust-lang/rust/pull/119552.
warning: fields `nested` and `string` are never read
--> test_suite/tests/regression/issue2371.rs:10:9
|
8 | Flatten {
| ------- fields in this variant
9 | #[serde(flatten)]
10 | nested: Nested,
| ^^^^^^
11 | string: &'static str,
| ^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: fields `nested` and `string` are never read
--> test_suite/tests/regression/issue2371.rs:20:9
|
18 | Flatten {
| ------- fields in this variant
19 | #[serde(flatten)]
20 | nested: Nested,
| ^^^^^^
21 | string: &'static str,
| ^^^^^^
warning: fields `nested` and `string` are never read
--> test_suite/tests/regression/issue2371.rs:30:9
|
28 | Flatten {
| ------- fields in this variant
29 | #[serde(flatten)]
30 | nested: Nested,
| ^^^^^^
31 | string: &'static str,
| ^^^^^^
warning: fields `nested` and `string` are never read
--> test_suite/tests/regression/issue2371.rs:40:9
|
38 | Flatten {
| ------- fields in this variant
39 | #[serde(flatten)]
40 | nested: Nested,
| ^^^^^^
41 | string: &'static str,
| ^^^^^^
warning: field `0` is never read
--> test_suite/tests/test_gen.rs:690:33
|
690 | Single(#[serde(borrow)] RelObject<'a>),
| ------ ^^^^^^^^^^^^^
| |
| field in this variant
|
= note: `#[warn(dead_code)]` on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
690 | Single(#[serde(borrow)] ()),
| ~~
warning: field `0` is never read
--> test_suite/tests/test_gen.rs:691:31
|
691 | Many(#[serde(borrow)] Vec<RelObject<'a>>),
| ---- ^^^^^^^^^^^^^^^^^^
| |
| field in this variant
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
691 | Many(#[serde(borrow)] ()),
| ~~
New warning since nightly-2024-03-03:
warning: serde_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while 2018 is compatible with `rust-version`
warning: serde_derive_internals/Cargo.toml: no edition set: defaulting to the 2015 edition while 2018 is compatible with `rust-version`
warning: the item `Into` is imported redundantly
--> serde/src/lib.rs:184:47
|
184 | pub use self::core::convert::{self, From, Into};
| ^^^^
|
::: nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/prelude/mod.rs:115:13
|
115 | pub use super::v1::*;
| --------- the item `Into` is already defined here
|
= note: `#[warn(unused_imports)]` on by default
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
--> serde/src/de/impls.rs:200:39
|
200 | Ok((v as Self::Value).copysign(sign))
| ^^^^^^^^^^^^^^
...
374 | / impl_deserialize_num! {
375 | | f32, deserialize_f32
376 | | num_self!(f32:visit_f32);
377 | | num_as_copysign_self!(f64:visit_f64);
378 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
379 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
380 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`
= note: this warning originates in the macro `num_as_copysign_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
--> serde/src/de/impls.rs:200:39
|
200 | Ok((v as Self::Value).copysign(sign))
| ^^^^^^^^^^^^^^
...
382 | / impl_deserialize_num! {
383 | | f64, deserialize_f64
384 | | num_self!(f64:visit_f64);
385 | | num_as_copysign_self!(f32:visit_f32);
386 | | num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
387 | | num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
388 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: this warning originates in the macro `num_as_copysign_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
--> serde/src/de/impls.rs:2308:14
|
2308 | .checked_add(duration)
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
--> serde/src/ser/impls.rs:606:26
|
606 | self.get().serialize(serializer)
| ^^^^^
...
623 | / nonzero_integers! {
624 | | NonZeroI8,
625 | | NonZeroI16,
626 | | NonZeroI32,
... |
629 | | NonZeroIsize,
630 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: this warning originates in the macro `nonzero_integers` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
--> serde/src/ser/impls.rs:1053:26
|
1053 | self.load(Ordering::Relaxed).serialize(serializer)
| ^^^^^^^^^^^^^^^^^^^^^^^
...
1061 | / atomic_impl! {
1062 | | AtomicBool "8"
1063 | | AtomicI8 "8"
1064 | | AtomicI16 "16"
... |
1070 | | AtomicUsize "ptr"
1071 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: this warning originates in the macro `atomic_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
--> serde/src/ser/impls.rs:1053:26
|
1053 | self.load(Ordering::Relaxed).serialize(serializer)
| ^^^^^^^^^^^^^^^^^^^^^^^
...
1074 | / atomic_impl! {
1075 | | AtomicI64 "64"
1076 | | AtomicU64 "64"
1077 | | }
| |_- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
= note: this warning originates in the macro `atomic_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: serde_derive_internals/Cargo.toml: `default-features` is
ignored for syn, since `default-features` was not specified for
`workspace.dependencies.syn`, this could become a hard error in the
future
warning: field `0` is never read
--> test_suite/tests/test_remote.rs:143:24
|
143 | struct PrimitivePubDef(u8);
| --------------- ^^
| |
| field in this struct
|
= note: `#[warn(dead_code)]` on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
143 | struct PrimitivePubDef(());
| ~~
warning: field `0` is never read
--> test_suite/tests/test_remote.rs:162:20
|
162 | struct TuplePubDef(u8, #[serde(with = "UnitDef")] remote::Unit);
| ----------- ^^
| |
| field in this struct
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
162 | struct TuplePubDef((), #[serde(with = "UnitDef")] remote::Unit);
| ~~
warning: field `0` is never read
--> test_suite/tests/test_remote.rs:200:13
|
200 | Variant(u8),
| ------- ^^
| |
| field in this variant
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
200 | Variant(()),
| ~~
error: field `0` is never read
--> test_suite/tests/test_gen.rs:390:23
|
390 | struct StrDef<'a>(&'a str);
| ------ ^^^^^^^
| |
| field in this struct
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
390 | struct StrDef<'a>(());
| ~~
error: field `0` is never read
--> test_suite/tests/test_gen.rs:690:33
|
690 | Single(#[serde(borrow)] RelObject<'a>),
| ------ ^^^^^^^^^^^^^
| |
| field in this variant
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
690 | Single(#[serde(borrow)] ()),
| ~~
error: field `0` is never read
--> test_suite/tests/test_gen.rs:691:31
|
691 | Many(#[serde(borrow)] Vec<RelObject<'a>>),
| ---- ^^^^^^^^^^^^^^^^^^
| |
| field in this variant
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
691 | Many(#[serde(borrow)] ()),
| ~~
error: some variants are not matched explicitly
--> serde_derive/src/internals/attr.rs:1823:31
|
1823 | match arg {
| ^^^ patterns `&GenericArgument::Const(_)`, `&GenericArgument::AssocConst(_)` and `&GenericArgument::Constraint(_)` not covered
|
= help: ensure that all variants are matched explicitly by adding the suggested match arms
= note: the matched value is of type `&GenericArgument` and the `non_exhaustive_omitted_patterns` attribute was found
note: the lint level is defined here
--> serde_derive/src/internals/attr.rs:1797:49
|
1797 | #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: the lint level must be set on the whole match
--> serde_derive/src/internals/attr.rs:1855:9
|
1854 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
1855 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
1796 + #[deny(non_exhaustive_omitted_patterns)]
1797 | match ty {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/internals/receiver.rs:151:13
|
150 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
151 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
109 + #[deny(non_exhaustive_omitted_patterns)]
110 | match ty {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/internals/receiver.rs:188:25
|
187 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
188 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
180 + #[deny(non_exhaustive_omitted_patterns)]
181 | match arg {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/internals/receiver.rs:213:13
|
212 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
213 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
209 + #[deny(non_exhaustive_omitted_patterns)]
210 | match bound {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/internals/receiver.rs:239:21
|
238 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
239 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
230 + #[deny(non_exhaustive_omitted_patterns)]
231 | match predicate {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/bound.rs:185:17
|
184 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
185 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
146 + #[deny(non_exhaustive_omitted_patterns)]
147 | match ty {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/bound.rs:209:29
|
207 | ... deny(non_exhaustive_omitted_patterns)
| ------------------------------- remove this attribute
208 | ... )]
209 | ... _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
198 + #[deny(non_exhaustive_omitted_patterns)]
199 | match arg {
|
warning: the lint level must be set on the whole match
--> serde_derive/src/bound.rs:234:17
|
233 | #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
| ------------------------------- remove this attribute
234 | _ => {}
| ^
|
= help: it no longer has any effect to set the lint level on an individual match arm
help: set the lint level on the whole match
|
230 + #[deny(non_exhaustive_omitted_patterns)]
231 | match bound {
|
warning: possible intra-doc link using quotes instead of backticks
--> serde/src/de/mod.rs:67:41
|
67 | //! - Rc\<T\> *(if* features = ["rc"] *is enabled)*
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
= note: `-W clippy::doc-link-with-quotes` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_link_with_quotes)]`
warning: possible intra-doc link using quotes instead of backticks
--> serde/src/de/mod.rs:68:42
|
68 | //! - Arc\<T\> *(if* features = ["rc"] *is enabled)*
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
warning: possible intra-doc link using quotes instead of backticks
--> serde/src/ser/mod.rs:64:41
|
64 | //! - Rc\<T\> *(if* features = ["rc"] *is enabled)*
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
warning: possible intra-doc link using quotes instead of backticks
--> serde/src/ser/mod.rs:65:42
|
65 | //! - Arc\<T\> *(if* features = ["rc"] *is enabled)*
| ^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
warning: accessing first element with `variant.fields.get(0)`
--> serde_derive/src/de.rs:1843:27
|
1843 | let default = variant.fields.get(0).map(|field| {
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `variant.fields.first()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
= note: `-W clippy::get-first` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::get_first)]`
warning: accessing first element with `variant.fields.get(0)`
--> serde_derive/src/de.rs:1888:27
|
1888 | let default = variant.fields.get(0).map(|field| {
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `variant.fields.first()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
`expr` is of type serde_derive::fragment::Expr, which can be
interpolated directly in any expression position. It does not
need to be nested in another set of braces.
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2722:9
|
2722 | r#"invalid type: unit value, expected variant identifier"#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
= note: `-W clippy::needless-raw-string-hashes` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::needless_raw_string_hashes)]`
help: remove all the hashes around the literal
|
2722 - r#"invalid type: unit value, expected variant identifier"#,
2722 + r"invalid type: unit value, expected variant identifier",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2743:9
|
2743 | r#"invalid type: unit value, expected variant identifier"#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2743 - r#"invalid type: unit value, expected variant identifier"#,
2743 + r"invalid type: unit value, expected variant identifier",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2769:9
|
2769 | r#"invalid type: unit value, expected variant of enum Enum"#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2769 - r#"invalid type: unit value, expected variant of enum Enum"#,
2769 + r"invalid type: unit value, expected variant of enum Enum",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2782:63
|
2782 | assert_de_tokens_error::<Enum>(&[Token::Str("Untagged")], r#"something strange..."#);
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2782 - assert_de_tokens_error::<Enum>(&[Token::Str("Untagged")], r#"something strange..."#);
2782 + assert_de_tokens_error::<Enum>(&[Token::Str("Untagged")], r"something strange...");
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2803:9
|
2803 | r#"invalid type: unit value, expected something strange..."#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2803 - r#"invalid type: unit value, expected something strange..."#,
2803 + r"invalid type: unit value, expected something strange...",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2812:9
|
2812 | r#"invalid type: map, expected something strange..."#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2812 - r#"invalid type: map, expected something strange..."#,
2812 + r"invalid type: map, expected something strange...",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2817:9
|
2817 | r#"invalid type: unit value, expected something strange..."#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2817 - r#"invalid type: unit value, expected something strange..."#,
2817 + r"invalid type: unit value, expected something strange...",
|
warning: unnecessary hashes around raw string literal
--> test_suite/tests/test_annotations.rs:2828:9
|
2828 | r#"invalid type: map, expected something strange..."#,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
help: remove all the hashes around the literal
|
2828 - r#"invalid type: map, expected something strange..."#,
2828 + r"invalid type: map, expected something strange...",
|
error[E0507]: cannot move out of `*__self` which is behind a shared reference
--> test_suite/tests/test_remote.rs:210:10
|
210 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^
| |
| data moved here
| move occurs because `unrecognized` has type `ErrorKind`, which does not implement the `Copy` trait
|
= note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider borrowing here
|
210 | #[derive(&Serialize, Deserialize)]
| +
This adds too much decompression overhead per invocation.
It could work if the subprocess were reused across multiple macro
expansions (https://github.com/serde-rs/serde/pull/2523).
warning: matching over `()` is more explicit
--> serde_derive/src/internals/attr.rs:710:33
|
710 | (Some((untagged_tokens, _)), Some((tag_tokens, _)), None) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
= note: `-W clippy::ignored-unit-patterns` implied by `-W clippy::pedantic`
warning: matching over `()` is more explicit
--> serde_derive/src/internals/attr.rs:721:33
|
721 | (Some((untagged_tokens, _)), None, Some((content_tokens, _))) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
warning: matching over `()` is more explicit
--> serde_derive/src/internals/attr.rs:728:33
|
728 | (Some((untagged_tokens, _)), Some((tag_tokens, _)), Some((content_tokens, _))) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
warning: matching over `()` is more explicit
--> serde_derive/src/internals/attr.rs:750:44
|
750 | (_, Some((field_identifier_tokens, _)), Some((variant_identifier_tokens, _))) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
warning: matching over `()` is more explicit
--> serde_derive/src/internals/attr.rs:750:82
|
750 | (_, Some((field_identifier_tokens, _)), Some((variant_identifier_tokens, _))) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
Unit variant of externally tagged enum cannot be deserialized from the string
token by itself. It is ContentDeserializer + serde_test::Deserializer that makes
this possible, because serde_test::Deserializer produces Content::Str() from
Token::BorrowedStr() and ContentDeserializer produces unit variant from Content::Str().
The following tokens all produces Content::String(variant):
- Token::String(variant)
- Token::Str(variant)
- Token::UnitVariant { variant, .. }
Token::BorrowedStr(variant) produces Content::Str(variant) that was the real purpose to
use it in test in #933. This actually makes this test testing `Content` rather than type itself.
Correct way to represent enum one of:
- [xxxVariant { .. }]
- [Enum { .. }, xxxVariant { variant, .. }]
- [Enum { .. }, String(variant), <variant content>]
- [Enum { .. }, Str(variant), <variant content>]
- [Enum { .. }, BorrowedStr(variant), <variant content>]
error: the feature `lang_items` is internal to the compiler or standard library
--> src/main.rs:1:12
|
1 | #![feature(lang_items, start)]
| ^^^^^^^^^^
|
= note: using it is strongly discouraged
= note: `#[deny(internal_features)]` on by default
These are previous names of the `__private` module -- first
`serde::export` then `serde::private` then `serde::__private` -- in all
cases marked `doc(hidden)` and documented as not public API. Leaving a
tombstone made rustc give a better diagnostic "module is private" rather
than "unresolved import". But the rename to `__private` was 2.5 years
ago in dd1f4b483e so it's unlikely anyone
is still benefiting from the tombstone at this point.
In 1.72+, this is fixed by https://github.com/rust-lang/rust/pull/112086.
error[E0659]: `core` is ambiguous
--> serde/src/lib.rs:227:13
|
227 | pub use core::ffi::CStr;
| ^^^^ ambiguous name
|
= note: ambiguous because of multiple potential import sources
= note: `core` could refer to a built-in crate
= help: use `::core` to refer to this crate unambiguously
note: `core` could also refer to the module defined here
--> serde/src/lib.rs:166:5
|
166 | / mod core {
167 | | #[cfg(not(feature = "std"))]
168 | | pub use core::*;
169 | | #[cfg(feature = "std")]
170 | | pub use std::*;
171 | | }
| |_____^
= help: use `self::core` to refer to this module unambiguously
warning: empty String is being created manually
--> test_suite/tests/test_annotations.rs:2280:29
|
2280 | let data = Data::C { t: "".to_string() };
| ^^^^^^^^^^^^^^ help: consider using: `String::new()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_string_new
= note: `-W clippy::manual-string-new` implied by `-W clippy::pedantic`
This makes it slightly more convenient to use the following as a
Reindeer fixup for those that prefer to build from source:
extra_mapped_srcs = { "src/lib_from_source.rs" = "src/lib.rs" }
[platform_fixups.'cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu"))']
extra_deps = [":proc-macro2", ":quote", ":syn"]
as opposed to checking in a whole new file containing the `extern crate
proc_macro` + `include!("lib_from_source.rs")`.
In old versions of rustc (1.15 through 1.29) it would cause a warning if
this #[macro_use] was not present.
warning: proc macro crates and `#[no_link]` crates have no effect without `#[macro_use]`
--> serde/src/lib.rs:340:1
|
340 | extern crate serde_derive;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
These days serde_derive requires a newer compiler than that, so the
bogus warning would never occur.
error: field `option` is never read
--> test_suite/tests/test_gen.rs:666:9
|
665 | struct ImplicitlyBorrowedOption<'a> {
| ------------------------ field in this struct
666 | option: std::option::Option<&'a str>,
| ^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
error: fields `ty` and `id` are never read
--> test_suite/tests/test_gen.rs:696:9
|
695 | struct RelObject<'a> {
| --------- fields in this struct
696 | ty: &'a str,
| ^^
697 | id: String,
| ^^
error: field `field` is never read
--> test_suite/tests/test_gen.rs:740:17
|
739 | struct MacroRules<'a> {
| ---------- field in this struct
740 | field: $field,
| ^^^^^
...
745 | deriving!(&'a str);
| ------------------ in this macro invocation
|
= note: this error originates in the macro `deriving` (in Nightly builds, run with -Z macro-backtrace for more info)
error: field `f` is never read
--> test_suite/tests/test_gen.rs:756:9
|
754 | struct BorrowLifetimeInsideMacro<'a> {
| ------------------------- field in this struct
755 | #[serde(borrow = "'a")]
756 | f: mac!(Cow<'a, str>),
| ^
warning: fields `question` and `answer` are never read
--> test_suite/tests/test_annotations.rs:2969:9
|
2968 | struct Struct {
| ------ fields in this struct
2969 | question: String,
| ^^^^^^^^
2970 | answer: u32,
| ^^^^^^
|
= note: `#[warn(dead_code)]` on by default
Those deserializers are used to deserialize tuple or struct variants from Content
which is used by internally tagged enums and by flatten
FlatMapDeserializer is reached in the following tests:
flatten::enum_::externally_tagged::newtype
flatten::enum_::externally_tagged::struct_from_map
flatten::enum_::externally_tagged::struct_from_seq
flatten::enum_::externally_tagged::tuple
ContentDeserializer is reached in the following tests:
test_enum_in_internally_tagged_enum
test_internally_tagged_struct_variant_containing_unit_variant
The Container struct
struct Container {
#[serde(flatten)]
enum_field: Enum,
}
enum Enum {
Tuple(u32, u32),
}
now can be serialized to JSON as
{ "enum_field": [1, 2] }
Deserialization already works
Fixes (1):
flatten::enum_::externally_tagged::tuple
1.0.0 does not work with workspaces.
error: No such file or directory (os error 2)
--> test_suite/tests/regression.rs:2:5
|
2 | automod::dir!("tests/regression");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `automod::dir` (in Nightly builds, run with -Z macro-backtrace for more info)
error: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> test_suite/tests/test_de.rs:202:12
|
202 | .chain(vec![Token::MapEnd].into_iter())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `vec![Token::MapEnd]`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /home/david/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:522:12
|
522 | U: IntoIterator<Item = Self::Item>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `-D clippy::useless-conversion` implied by `-D clippy::all`
error: try not to call a closure in the expression where it is declared
--> serde/src/de/impls.rs:1590:76
|
1590 | <(_, u16)>::deserialize(deserializer).map(|(ip, port)| $new(ip, port))
| ^^^^^^^^^^^^^^
...
1620 | / parse_socket_impl!("IPv6 socket address" net::SocketAddrV6, |ip, port| net::SocketAddrV6::new(
1621 | | ip, port, 0, 0
1622 | | ));
| |__- in this macro invocation
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call
= note: `-D clippy::redundant-closure-call` implied by `-D clippy::all`
= note: this error originates in the macro `parse_socket_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> serde/src/private/de.rs:2761:22
|
2761 | for entry in self.0.iter_mut() {
| ^^^^^^^^^^^^^^^^^ help: to write this more concisely, try: `&mut *self.0`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_iter_loop
= note: `-D clippy::explicit-iter-loop` implied by `-D clippy::pedantic`
error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> serde_derive/src/internals/check.rs:202:20
|
202 | for variant in variants.iter() {
| ^^^^^^^^^^^^^^^ help: to write this more concisely, try: `variants`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_iter_loop
= note: `-D clippy::explicit-iter-loop` implied by `-D clippy::pedantic`
error: it is more concise to loop over references to containers instead of using explicit iteration methods
--> serde_derive/src/bound.rs:262:28
|
262 | for variant in variants.iter() {
| ^^^^^^^^^^^^^^^ help: to write this more concisely, try: `variants`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_iter_loop
Previously if someone wrote an enum containing:
- `A` (untagged)
- `B` (tagged)
- `C` (tagged)
- `D` (untagged)
- `E` (tagged)
- `F` (untagged)
serde_derive would produce errors referring to B and E only, saying
you're supposed to put untagged variants at the end. The choice of B and
E for this error doesn't make a lot of sense because in order to resolve
the issue, the user must either:
- move A and D down
or:
- move B, C, and E up.
This commit changes the error to appear on A and D instead.
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/ast.rs:161:13
|
161 | seen_untagged = variant.attrs.untagged()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `seen_untagged = variant.attrs.untagged();`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
= note: `-D clippy::semicolon-if-nothing-returned` implied by `-D clippy::pedantic`
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/ast.rs:159:17
|
159 | ... cx.error_spanned_by(&variant.ident, "all variants with the #[serde(untagged)] attribute must be placed at the end of the enum")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `cx.error_spanned_by(&variant.ident, "all variants with the #[serde(untagged)] attribute must be placed at the end of the enum");`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
This count should mean the number of fields expected in the serialized form,
so if some fields are skipped, they shouldn't be counted
Methods affected:
- Deserializer::deserialize_tuple
- Deserializer::deserialize_tuple_struct
- VariantAccess::tuple_variant
Without this, if it fails, the only information printed is useless:
Preparing a sysroot for Miri (target: x86_64-unknown-linux-gnu)...
fatal error: failed to build sysroot; run `cargo miri setup` to see the error details
warning: this loop could be written as a `for` loop
--> serde/src/private/de.rs:2905:9
|
2905 | while let Some(item) = self.iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for item in self.iter.by_ref()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
= note: `#[warn(clippy::while_let_on_iterator)]` on by default
Panics lead to reporting errors in tests inside of serde_test internals,
returning errors moves the report location to the corresponding assert_tokens
expression
Fixes these being treated as "tests" by `cargo test` in serde_derive:
running 3 tests
test src/internals/check.rs - internals::check::check_remote_generic (line 23) ... FAILED
test src/internals/check.rs - internals::check::check_remote_generic (line 29) ... FAILED
test src/lib.rs - (line 3) ... ok
failures:
---- src/internals/check.rs - internals::check::check_remote_generic (line 23) stdout ----
error: unknown start of token: \u{2026}
--> src/internals/check.rs:25:20
|
4 | struct Generic<T> {…}
| ^
error: cannot find attribute `serde` in this scope
--> src/internals/check.rs:24:3
|
3 | #[serde(remote = "Generic")]
| ^^^^^
|
= note: `serde` is in scope, but it is a crate, not an attribute
error[E0392]: parameter `T` is never used
--> src/internals/check.rs:25:16
|
4 | struct Generic<T> {…}
| ^ unused parameter
|
= help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `T` to be a const parameter, use `const T: usize` instead
---- src/internals/check.rs - internals::check::check_remote_generic (line 29) stdout ----
error: unknown start of token: \u{2026}
--> src/internals/check.rs:31:21
|
4 | struct ConcreteDef {…}
| ^
error: cannot find attribute `serde` in this scope
--> src/internals/check.rs:30:3
|
3 | #[serde(remote = "Generic<T>")]
| ^^^^^
|
= note: `serde` is in scope, but it is a crate, not an attribute
rustc will start looking behind `#[cfg(FALSE)]` items to start giving
better diagnostics. By using an explicit re-export instead of a glob
export, we tell rustc that `Deserialize` and `Serialize` exist here.
This works just fine if we make syn parse "where " as a syn::WhereClause.
The serde(bound = "") attribute is definitely not common enough that it
would warrant a micro-optimization.
Without serde(bound = ""), serde_derive infers a bound of `T: Serialize`
for the generated Serialize impl and `T: Deserialize<'de> + Default` for
the Deserialize impl. `X` implements none of these so the generated code
would fail to compile.
error[E0277]: the trait bound `X: Serialize` is not satisfied
--> test_suite/tests/test_gen.rs:268:14
|
268 | assert::<PhantomDataWrapper<X>>();
| ^^^^^^^^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `X`
|
= help: the following other types implement trait `Serialize`:
&'a T
&'a mut T
()
(T0, T1)
(T0, T1, T2)
(T0, T1, T2, T3)
(T0, T1, T2, T3, T4)
(T0, T1, T2, T3, T4, T5)
and 248 others
note: required for `PhantomDataWrapper<X>` to implement `Serialize`
--> test_suite/tests/test_gen.rs:262:14
|
262 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
263 | //#[serde(bound = "")]
264 | struct PhantomDataWrapper<T> {
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `assert`
--> test_suite/tests/test_gen.rs:767:14
|
767 | fn assert<T: Serialize + DeserializeOwned>() {}
| ^^^^^^^^^ required by this bound in `assert`
= note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `X: Deserialize<'_>` is not satisfied
--> test_suite/tests/test_gen.rs:268:14
|
268 | assert::<PhantomDataWrapper<X>>();
| ^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `X`
|
= help: the following other types implement trait `Deserialize<'de>`:
<&'a Path as Deserialize<'de>>
<&'a [u8] as Deserialize<'de>>
<&'a str as Deserialize<'de>>
<() as Deserialize<'de>>
<(T0, T1) as Deserialize<'de>>
<(T0, T1, T2) as Deserialize<'de>>
<(T0, T1, T2, T3) as Deserialize<'de>>
<(T0, T1, T2, T3, T4) as Deserialize<'de>>
and 331 others
note: required for `PhantomDataWrapper<X>` to implement `for<'de> Deserialize<'de>`
--> test_suite/tests/test_gen.rs:262:25
|
262 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
263 | //#[serde(bound = "")]
264 | struct PhantomDataWrapper<T> {
| ^^^^^^^^^^^^^^^^^^^^^
= note: required for `PhantomDataWrapper<X>` to implement `DeserializeOwned`
note: required by a bound in `assert`
--> test_suite/tests/test_gen.rs:767:26
|
767 | fn assert<T: Serialize + DeserializeOwned>() {}
| ^^^^^^^^^^^^^^^^ required by this bound in `assert`
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0277]: the trait bound `X: Default` is not satisfied
--> test_suite/tests/test_gen.rs:268:14
|
268 | assert::<PhantomDataWrapper<X>>();
| ^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `X`
|
note: required for `PhantomDataWrapper<X>` to implement `for<'de> Deserialize<'de>`
--> test_suite/tests/test_gen.rs:262:25
|
262 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
263 | //#[serde(bound = "")]
264 | struct PhantomDataWrapper<T> {
| ^^^^^^^^^^^^^^^^^^^^^
= note: required for `PhantomDataWrapper<X>` to implement `DeserializeOwned`
note: required by a bound in `assert`
--> test_suite/tests/test_gen.rs:767:26
|
767 | fn assert<T: Serialize + DeserializeOwned>() {}
| ^^^^^^^^^^^^^^^^ required by this bound in `assert`
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `X` with `#[derive(Default)]`
|
779 | #[derive(Default)]
|
This function is called for untagged, internally and externally tagged enums,
but `deserializer` parameter is `None` only for the latest. Only when it's `None`
`DeserializeSeed` impl is used
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:157:5
|
157 | / forward_to_deserialize_any! {
158 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
159 | | bytes byte_buf unit unit_struct newtype_struct seq tuple tuple_struct
160 | | map struct enum identifier ignored_any
161 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: `-D clippy::let-underscore-untyped` implied by `-D clippy::pedantic`
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:157:5
|
157 | / forward_to_deserialize_any! {
158 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
159 | | bytes byte_buf unit unit_struct newtype_struct seq tuple tuple_struct
160 | | map struct enum identifier ignored_any
161 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:219:5
|
219 | / forward_to_deserialize_any! {
220 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
221 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
222 | | tuple_struct map struct enum identifier ignored_any
223 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:291:1
|
291 | primitive_deserializer!(bool, "a `bool`.", BoolDeserializer, visit_bool);
| ------------------------------------------------------------------------ in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:292:1
|
292 | primitive_deserializer!(i8, "an `i8`.", I8Deserializer, visit_i8);
| ----------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:293:1
|
293 | primitive_deserializer!(i16, "an `i16`.", I16Deserializer, visit_i16);
| --------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:294:1
|
294 | primitive_deserializer!(i32, "an `i32`.", I32Deserializer, visit_i32);
| --------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:295:1
|
295 | primitive_deserializer!(i64, "an `i64`.", I64Deserializer, visit_i64);
| --------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:296:1
|
296 | primitive_deserializer!(isize, "an `isize`.", IsizeDeserializer, visit_i64 as i64);
| ---------------------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:297:1
|
297 | primitive_deserializer!(u8, "a `u8`.", U8Deserializer, visit_u8);
| ---------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:298:1
|
298 | primitive_deserializer!(u16, "a `u16`.", U16Deserializer, visit_u16);
| -------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:299:1
|
299 | primitive_deserializer!(u64, "a `u64`.", U64Deserializer, visit_u64);
| -------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:300:1
|
300 | primitive_deserializer!(usize, "a `usize`.", UsizeDeserializer, visit_u64 as u64);
| --------------------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:301:1
|
301 | primitive_deserializer!(f32, "an `f32`.", F32Deserializer, visit_f32);
| --------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:302:1
|
302 | primitive_deserializer!(f64, "an `f64`.", F64Deserializer, visit_f64);
| --------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:303:1
|
303 | primitive_deserializer!(char, "a `char`.", CharDeserializer, visit_char);
| ------------------------------------------------------------------------ in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:306:5
|
306 | primitive_deserializer!(i128, "an `i128`.", I128Deserializer, visit_i128);
| ------------------------------------------------------------------------- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:307:5
|
307 | primitive_deserializer!(u128, "a `u128`.", U128Deserializer, visit_u128);
| ------------------------------------------------------------------------ in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `primitive_deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:345:5
|
345 | / forward_to_deserialize_any! {
346 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
347 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
348 | | tuple_struct map struct identifier ignored_any
349 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:367:9
|
367 | let _ = name;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:368:9
|
368 | let _ = variants;
| ^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:450:9
|
450 | let _ = name;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:451:9
|
451 | let _ = variants;
| ^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:455:5
|
455 | / forward_to_deserialize_any! {
456 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
457 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
458 | | tuple_struct map struct identifier ignored_any
459 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:529:9
|
529 | let _ = name;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:530:9
|
530 | let _ = variants;
| ^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:534:5
|
534 | / forward_to_deserialize_any! {
535 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
536 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
537 | | tuple_struct map struct identifier ignored_any
538 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:630:9
|
630 | let _ = name;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:631:9
|
631 | let _ = variants;
| ^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:635:5
|
635 | / forward_to_deserialize_any! {
636 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
637 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
638 | | tuple_struct map struct identifier ignored_any
639 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:736:9
|
736 | let _ = name;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:737:9
|
737 | let _ = variants;
| ^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:741:5
|
741 | / forward_to_deserialize_any! {
742 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
743 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
744 | | tuple_struct map struct identifier ignored_any
745 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:818:5
|
818 | / forward_to_deserialize_any! {
819 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
820 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
821 | | tuple_struct map struct enum identifier ignored_any
822 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:866:5
|
866 | / forward_to_deserialize_any! {
867 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
868 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
869 | | tuple_struct map struct enum identifier ignored_any
870 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:945:5
|
945 | / forward_to_deserialize_any! {
946 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
947 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
948 | | tuple_struct map struct enum identifier ignored_any
949 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:1073:5
|
1073 | / forward_to_deserialize_any! {
1074 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1075 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
1076 | | tuple_struct map struct enum identifier ignored_any
1077 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/value.rs:1183:9
|
1183 | let _ = len;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:1187:5
|
1187 | / forward_to_deserialize_any! {
1188 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1189 | | bytes byte_buf option unit unit_struct newtype_struct tuple_struct map
1190 | | struct enum identifier ignored_any
1191 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:1326:5
|
1326 | / forward_to_deserialize_any! {
1327 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1328 | | bytes byte_buf option unit unit_struct newtype_struct tuple_struct map
1329 | | struct enum identifier ignored_any
1330 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:1486:5
|
1486 | / forward_to_deserialize_any! {
1487 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1488 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
1489 | | tuple_struct map struct identifier ignored_any
1490 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/de/value.rs:1539:5
|
1539 | / forward_to_deserialize_any! {
1540 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1541 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
1542 | | tuple_struct map struct enum identifier ignored_any
1543 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:123:9
|
123 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:129:9
|
129 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:136:13
|
136 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:143:9
|
143 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:150:13
|
150 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:157:9
|
157 | let _ = x;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:166:9
|
166 | let _ = s;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/ignored_any.rs:223:9
|
223 | let _ = bytes;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:957:13
|
957 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:991:13
|
991 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1554:9
|
1554 | let _ = v;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1615:9
|
1615 | let _ = deserializer;
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1639:9
|
1639 | let _ = deserializer;
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1650:9
|
1650 | let _ = seq;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1661:9
|
1661 | let _ = map;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/de/mod.rs:1672:9
|
1672 | let _ = data;
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:79:9
|
79 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:99:9
|
99 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:119:9
|
119 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:139:9
|
139 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:159:9
|
159 | let _ = key;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:167:9
|
167 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:187:9
|
187 | let _ = key;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:188:9
|
188 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:208:9
|
208 | let _ = key;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/impossible.rs:209:9
|
209 | let _ = value;
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/mod.rs:512:13
|
512 | let _ = v;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/mod.rs:622:13
|
622 | let _ = v;
| ^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/mod.rs:1906:9
|
1906 | let _ = key;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/ser/mod.rs:1972:9
|
1972 | let _ = key;
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:47:9
|
47 | / forward_to_deserialize_any! {
48 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
49 | | bytes byte_buf unit unit_struct newtype_struct seq tuple
50 | | tuple_struct map struct enum identifier ignored_any
51 | | }
| |_________- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/private/de.rs:1451:13
|
1451 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:1633:9
|
1633 | / forward_to_deserialize_any! {
1634 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1635 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
1636 | | tuple_struct map struct enum identifier ignored_any
1637 | | }
| |_________- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:1731:9
|
1731 | / forward_to_deserialize_any! {
1732 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1733 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
1734 | | tuple_struct map struct enum identifier ignored_any
1735 | | }
| |_________- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/private/de.rs:2174:13
|
2174 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:2343:9
|
2343 | / forward_to_deserialize_any! {
2344 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
2345 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
2346 | | tuple_struct map struct enum identifier ignored_any
2347 | | }
| |_________- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:2443:9
|
2443 | / forward_to_deserialize_any! {
2444 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
2445 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
2446 | | tuple_struct map struct enum identifier ignored_any
2447 | | }
| |_________- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:2611:5
|
2611 | / forward_to_deserialize_any! {
2612 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
2613 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
2614 | | tuple_struct map struct enum identifier ignored_any
2615 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde/src/macros.rs:132:17
|
132 | let _ = $arg;
| ^^^^^^^^^^^^^
|
::: serde/src/private/de.rs:2636:5
|
2636 | / forward_to_deserialize_any! {
2637 | | bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
2638 | | bytes byte_buf option unit unit_struct newtype_struct seq tuple
2639 | | tuple_struct map struct enum identifier ignored_any
2640 | | }
| |_____- in this macro invocation
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: this error originates in the macro `forward_to_deserialize_any_method` which comes from the expansion of the macro `forward_to_deserialize_any` (in Nightly builds, run with -Z macro-backtrace for more info)
error: non-binding `let` without a type annotation
--> serde_derive/src/internals/attr.rs:591:17
|
591 | / let _ = attr.parse_args_with(|input: ParseStream| {
592 | | while let Some(token) = input.parse()? {
593 | | if let TokenTree::Ident(ident) = token {
594 | | is_packed |= ident == "packed";
... |
597 | | Ok(())
598 | | });
| |___________________^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: `-D clippy::let-underscore-untyped` implied by `-D clippy::pedantic`
error: non-binding `let` without a type annotation
--> serde_derive_internals/src/attr.rs:591:17
|
591 | / let _ = attr.parse_args_with(|input: ParseStream| {
592 | | while let Some(token) = input.parse()? {
593 | | if let TokenTree::Ident(ident) = token {
594 | | is_packed |= ident == "packed";
... |
597 | | Ok(())
598 | | });
| |___________________^
|
= help: consider adding a type annotation or removing the `let` keyword
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_untyped
= note: `-D clippy::let-underscore-untyped` implied by `-D clippy::pedantic`
warning: lint `unaligned_references` has been removed: converted into hard error, see issue #82523 <https://github.com/rust-lang/rust/issues/82523> for more information
--> test_suite/tests/test_macros.rs:1931:8
|
1931 | #[deny(unaligned_references)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
I don't think this build has ever worked.
It was added with `continue-on-error: true` right from the beginning
in https://github.com/serde-rs/serde/commit/5534bf4df13ae00a82aef0db0ee62cb17b33b892
That's been that way since the Travis CI days:
https://github.com/serde-rs/serde/commit/820107d15e6ffbfb0f7257653f8889cb8f2dc452
All recent builds have been failing with:
error: linking with `emcc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten:/opt/hostedtoolcache/node/9.11.2/x64/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" VSLANG="1033" "emcc" "-s" "EXPORTED_FUNCTIONS=[\"_main\"]" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.0.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.1.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.10.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.11.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.12.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.13.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.14.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.15.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.2.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.3.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.4.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.5.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.6.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.7.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.8.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.9.rcgu.o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.223vlrckyyi933ss.rcgu.o" "-L" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps" "-L" "/home/runner/work/serde/serde/target/debug/deps" "-L" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libtest-703577d2eeee5197.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libgetopts-f807ec4fb7e4e629.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libunicode_width-2225b28b6ec8c285.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/librustc_std_workspace_std-dd938caf8b49e472.rlib" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/libserde_test-001fc721a1bcc02c.rlib" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/libserde-37bd5f92207a3513.rlib" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/libfnv-0de3dbe391b66872.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libstd-1c8c16cd3fa53a03.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libpanic_unwind-867e5756a7547a66.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/librustc_demangle-da6ab903fe654069.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libstd_detect-835d918597331757.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libhashbrown-4f9cd32598223563.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libminiz_oxide-d0c628945bd9d914.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libadler-7a585625ea89f61a.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/librustc_std_workspace_alloc-aaebf0a065426c59.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libunwind-72125d94c0136926.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libcfg_if-8ab4a22614237c52.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/liblibc-f05314f278f4c449.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/liballoc-2163dfc98c888d9f.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/librustc_std_workspace_core-dc02b3faf448d54f.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libcore-f5d84c0c974a0cba.rlib" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libcompiler_builtins-556bf6604acc2e72.rlib" "-l" "c" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib" "-o" "/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.js" "-O0" "-g" "-s" "NO_EXIT_RUNTIME=0" "-s" "ALLOW_MEMORY_GROWTH=0" "-sABORTING_MALLOC=0" "-Wl,--fatal-warnings" "-sWASM=0" "--memory-init-file" "0"
= note: /home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/emcc.py:812: SyntaxWarning: "is not" with a literal. Did you mean "!="?
newargs = [arg for arg in newargs if arg is not '']
/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/emcc.py:923: SyntaxWarning: "is not" with a literal. Did you mean "!="?
newargs = [a for a in newargs if a is not '']
INFO:root:generating system asset: is_vanilla.txt... (this will be cached in "/home/runner/.emscripten_cache/is_vanilla.txt" for subsequent builds)
INFO:root: - ok
INFO:root:(Emscripten: Running sanity checks)
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.0.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.1.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.10.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.11.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.12.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.13.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.14.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.15.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.2.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.3.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.4.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.5.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.6.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.7.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.8.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.test_ser.946ae949-cgu.9.rcgu.o is not valid LLVM bitcode
WARNING:root:/home/runner/work/serde/serde/target/asmjs-unknown-emscripten/debug/deps/test_ser-e9fdefc835cae810.223vlrckyyi933ss.rcgu.o is not valid LLVM bitcode
WARNING:root:retrieving port: binaryen from https://github.com/WebAssembly/binaryen/archive/version_54.zip
WARNING:root:unpacking port: binaryen
INFO:root:generating port: binaryen_tag_version_54.txt... (this will be cached in "/home/runner/.emscripten_cache/asmjs/binaryen_tag_version_54.txt" for subsequent builds)
INFO:root:building port: binaryen
CMake Deprecation Warning at CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
INFO:root: - ok
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/shared.py", line 1425, in g_llvm_nm_uncached
return Building.llvm_nm_uncached(filename)
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/shared.py", line 2226, in llvm_nm_uncached
proc = run_process([LLVM_NM, filename], stdout=stdout, stderr=stderr, check=False)
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/shared.py", line 164, in run_process
return run_base(cmd, universal_newlines=universal_newlines, check=check, *args, **kw)
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/shared.py", line 150, in run_base
return subprocess.run(cmd, check=check, input=input, *args, **kw)
File "/usr/lib/python3.10/subprocess.py", line 503, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "/usr/lib/python3.10/subprocess.py", line 1152, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/usr/lib/python3.10/subprocess.py", line 2045, in _communicate
stderr = self._translate_newlines(stderr,
File "/usr/lib/python3.10/subprocess.py", line 1029, in _translate_newlines
data = data.decode(encoding, errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xab in position 4530: invalid start byte
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/emcc.py", line 3091, in <module>
sys.exit(run())
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/emcc.py", line 1647, in run
extra_files_to_link += system_libs.calculate([f for _, f in sorted(temp_files)] + extra_files_to_link, in_temp, stdout_=None, stderr_=None, forced=forced_stdlibs)
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/system_libs.py", line 544, in calculate
symbolses = shared.Building.parallel_llvm_nm([os.path.abspath(t) for t in temp_files])
File "/home/runner/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten/tools/shared.py", line 1841, in parallel_llvm_nm
object_contents = pool.map(g_llvm_nm_uncached, files)
File "/usr/lib/python3.10/multiprocessing/pool.py", line 367, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xab in position 4530: invalid start byte
For some reasons old rustc 1.18.0 and older started failing to parse the
registry overnight.
error: An unknown error occurred
Caused by:
Feature `pretty` depends on `syntex_syntax` which is not an optional dependency.
Consider adding `optional = true` to the dependency
I'd like a chance to audit all the code that rustdoc is inserting into
the docs. Currently I am skeptical that showing serde's internal usages
of APIs is a net benefit to the public documentation. I am also
skeptical that quite so many examples are needed, and that they should
be featured so prominently in comparison to handwritten docs. Lastly I
wish there were a way to turn this behavior off on a more granular
basis.
Containers for the most part do not have any trait requirements for
iterating over them. So these bounds are unnecessary when Serializing
only.
This relaxation is part of Rust 1.34
GitHub's default timeout is 6 hours. Recently some of my GitHub Actions
jobs have started randomly stalling for that long, which is inconvenient
because it ties up a chunk of my runner quota. It apepars to be very
rare for a job to recover after stalling. It's better to time out
quicker and retry on a different runner.
warning: lint `clippy::let_underscore_drop` has been renamed to `let_underscore_drop`
--> serde_derive/src/lib.rs:46:5
|
46 | clippy::let_underscore_drop,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `let_underscore_drop`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:1813:39
|
1813 | let map = content.iter().map(|&(ref k, ref v)| {
| ^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
= note: `-D clippy::needless-borrowed-reference` implied by `-D clippy::all`
help: try removing the `&` and `ref` parts
|
1813 - let map = content.iter().map(|&(ref k, ref v)| {
1813 + let map = content.iter().map(|(k, v)| {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:2110:25
|
2110 | let &(ref variant, ref value) = match iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
2110 - let &(ref variant, ref value) = match iter.next() {
2110 + let (variant, value) = match iter.next() {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:2257:22
|
2257 | Some(&Content::Seq(ref v)) => {
| ^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
2257 - Some(&Content::Seq(ref v)) => {
2257 + Some(Content::Seq(v)) => {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:2280:22
|
2280 | Some(&Content::Map(ref v)) => {
| ^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
2280 - Some(&Content::Map(ref v)) => {
2280 + Some(Content::Map(v)) => {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:2283:22
|
2283 | Some(&Content::Seq(ref v)) => {
| ^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
2283 - Some(&Content::Seq(ref v)) => {
2283 + Some(Content::Seq(v)) => {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/de.rs:2406:22
|
2406 | Some(&(ref key, ref value)) => {
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
2406 - Some(&(ref key, ref value)) => {
2406 + Some((key, value)) => {
|
error: dereferencing a tuple pattern where every element takes a reference
--> serde/src/private/ser.rs:528:25
|
528 | for &(ref k, ref v) in entries {
| ^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
help: try removing the `&` and `ref` parts
|
528 - for &(ref k, ref v) in entries {
528 + for (k, v) in entries {
|
serde::de::format::Buf is a private type, so this makes it explicit by
declaring the type `pub(super)`. In addition, it marks the function
`Buf::as_str` as unsafe, which lets us document the callsites with
`// Safety: ...` comments to explain why it is safe to use.
Clippy's suggested fix is not valid in 2018 edition. The
serde_test_suite crate can't be updated to 2021 edition yet because CI
of the serde crate on old toolchains needs to be able to parse all
manifests in the workspace, even if serde_test_suite is not being
compiled in those builds.
error: variables can be used directly in the `format!` string
--> test_suite/tests/test_de.rs:2260:23
|
2260 | Err(e) => panic!("tokens failed to deserialize: {}", e),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `-D clippy::uninlined-format-args` implied by `-D clippy::pedantic`
help: change this to
|
2260 - Err(e) => panic!("tokens failed to deserialize: {}", e),
2260 + Err(e) => panic!("tokens failed to deserialize: {e}"),
|
warning: unused variable: `e`
--> test_suite/tests/test_de.rs:2260:17
|
2260 | Err(e) => panic!("tokens failed to deserialize: {e}"),
| ^ help: if this is intentional, prefix it with an underscore: `_e`
|
= note: `#[warn(unused_variables)]` on by default
warning: panic message contains an unused formatting placeholder
--> test_suite/tests/test_de.rs:2260:61
|
2260 | Err(e) => panic!("tokens failed to deserialize: {e}"),
| ^^^
|
= note: this message is not used as a format string when given without arguments, but will be in Rust 2021
= note: `#[warn(non_fmt_panics)]` on by default
help: add the missing argument
|
2260 | Err(e) => panic!("tokens failed to deserialize: {e}", ...),
| +++++
help: or add a "{}" format string to use the message literally
|
2260 | Err(e) => panic!("{}", "tokens failed to deserialize: {e}"),
| +++++
error: variables can be used directly in the `format!` string
--> test_suite/tests/test_annotations.rs:1238:30
|
1238 | serializer.serialize_str(format!("{};{:?}", f1, f2).as_str())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `-D clippy::uninlined-format-args` implied by `-D clippy::pedantic`
help: change this to
|
1238 - serializer.serialize_str(format!("{};{:?}", f1, f2).as_str())
1238 + serializer.serialize_str(format!("{f1};{f2:?}").as_str())
|
For whatever reason, the #![cfg_attr(feature = "cargo-clippy", allow(let_underscore_drop))]
attributes already in the code stopped working in the most recent nightly (2022-09-03).
Likely in connection with https://github.com/rust-lang/rust/pull/97739 ?
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:958:13
|
958 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= note: `-D clippy::let-underscore-drop` implied by `-D clippy::pedantic`
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:992:13
|
992 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:1616:9
|
1616 | let _ = deserializer;
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:1640:9
|
1640 | let _ = deserializer;
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:1651:9
|
1651 | let _ = seq;
| ^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:1662:9
|
1662 | let _ = map;
| ^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/de/mod.rs:1673:9
|
1673 | let _ = data;
| ^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/private/de.rs:1440:13
|
1440 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
error: non-binding `let` on a type that implements `Drop`
--> serde/src/private/de.rs:2163:13
|
2163 | let _ = visitor;
| ^^^^^^^^^^^^^^^^
|
= help: consider using an underscore-prefixed named binding or dropping explicitly with `std::mem::drop`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_drop
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.