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
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
Bincode has been in prerelease limbo for nearly a year and the readme
does not mention anything related to Serde, so it is not serving as a
good first link to a Serde binary format.
error: deref which would be done by auto-deref
--> serde/src/de/impls.rs:2014:59
|
2014 | ... Err(Error::unknown_field(&*value, FIELDS))
| ^^^^^^ help: try this: `value`
|
= note: `-D clippy::explicit-auto-deref` implied by `-D clippy::all`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
error: deref which would be done by auto-deref
--> serde/src/de/impls.rs:2354:55
|
2354 | ... Err(Error::unknown_field(&*value, FIELDS))
| ^^^^^^ help: try this: `value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
error: you are deriving `PartialEq` and can implement `Eq`
--> serde/src/de/value.rs:51:17
|
51 | #[derive(Clone, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= note: `-D clippy::derive-partial-eq-without-eq` implied by `-D clippy::all`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> serde_derive/src/internals/case.rs:13:23
|
13 | #[derive(Copy, Clone, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/unstable/mod.rs:6:21
|
6 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_ignored_any.rs:7:10
|
7 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_identifier.rs:7:34
|
7 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_identifier.rs:24:34
|
24 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_identifier.rs:41:34
|
41 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_identifier.rs:59:34
|
59 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_ser.rs:46:10
|
46 | #[derive(PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_value.rs:11:34
|
11 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:15:23
|
15 | #[derive(Copy, Clone, PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:18:10
|
18 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:26:10
|
26 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:34:10
|
34 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:41:19
|
41 | #[derive(Default, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de_error.rs:60:10
|
60 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_borrow.rs:70:34
|
70 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_borrow.rs:97:34
|
97 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_borrow.rs:106:34
|
106 | #[derive(Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:43:23
|
43 | #[derive(Copy, Clone, PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:46:10
|
46 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:49:10
|
49 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:52:10
|
52 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:76:10
|
76 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:82:10
|
82 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:102:10
|
102 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:109:19
|
109 | #[derive(Default, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:128:10
|
128 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:135:10
|
135 | #[derive(PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_de.rs:185:14
|
185 | #[derive(PartialEq, Debug, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:25:17
|
25 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:110:17
|
110 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:580:21
|
580 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:607:21
|
607 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:681:21
|
681 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:684:21
|
684 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:816:21
|
816 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:976:21
|
976 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1027:21
|
1027 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1273:21
|
1273 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1342:21
|
1342 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1413:21
|
1413 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1450:21
|
1450 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1474:21
|
1474 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1509:21
|
1509 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1543:21
|
1543 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1601:21
|
1601 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1743:45
|
1743 | #[derive(Serialize, Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1763:45
|
1763 | #[derive(Serialize, Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1770:45
|
1770 | #[derive(Serialize, Deserialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1870:21
|
1870 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_macros.rs:1888:21
|
1888 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:108:17
|
108 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:124:17
|
124 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:147:17
|
147 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:344:17
|
344 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:394:17
|
394 | #[derive(Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:413:17
|
413 | #[derive(Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:458:17
|
458 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:512:17
|
512 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:520:17
|
520 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:528:17
|
528 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:647:17
|
647 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_gen.rs:835:17
|
835 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:675:17
|
675 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1047:17
|
1047 | #[derive(Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1050:17
|
1050 | #[derive(Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1196:17
|
1196 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1514:17
|
1514 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1548:41
|
1548 | #[derive(Clone, Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1566:41
|
1566 | #[derive(Clone, Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1600:30
|
1600 | #[derive(Clone, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1803:21
|
1803 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1843:21
|
1843 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1852:21
|
1852 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:1947:21
|
1947 | #[derive(Debug, PartialEq, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2003:21
|
2003 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2037:21
|
2037 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2074:45
|
2074 | #[derive(Deserialize, Serialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2080:45
|
2080 | #[derive(Deserialize, Serialize, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2157:38
|
2157 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2193:38
|
2193 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2200:38
|
2200 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2240:38
|
2240 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2279:38
|
2279 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2316:38
|
2316 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2359:38
|
2359 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2390:38
|
2390 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2421:38
|
2421 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2426:38
|
2426 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2483:38
|
2483 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2507:38
|
2507 | #[derive(Serialize, Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2521:27
|
2521 | #[derive(Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2552:27
|
2552 | #[derive(Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2558:27
|
2558 | #[derive(Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2586:14
|
2586 | #[derive(PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2624:27
|
2624 | #[derive(Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
error: you are deriving `PartialEq` and can implement `Eq`
--> test_suite/tests/test_annotations.rs:2647:27
|
2647 | #[derive(Deserialize, PartialEq, Debug)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
warning: 1st rule of macro `btreeset` is never used
--> test_suite/tests/macros/mod.rs:5:5
|
5 | () => {
| ^^
|
= note: `#[warn(unused_macro_rules)]` on by default
warning: 1st rule of macro `hashset` is never used
--> test_suite/tests/macros/mod.rs:27:5
|
27 | () => {
| ^^
warning: 1st rule of macro `hashmap` is never used
--> test_suite/tests/macros/mod.rs:44:5
|
44 | () => {
| ^^
warning: 1st rule of macro `hashset` is never used
--> test_suite/tests/macros/mod.rs:27:5
|
27 | () => {
| ^^
|
= note: `#[warn(unused_macro_rules)]` on by default
warning: `#[doc(hidden)]` is ignored on trait impl items
--> serde/src/de/impls.rs:796:5
|
796 | #[doc(hidden)]
| ^^^^^^^^^^^^^^ help: remove this attribute
|
= note: `#[warn(unused_attributes)]` on by default
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
error: this expression creates a reference which is immediately dereferenced by the compiler
--> serde/src/de/impls.rs:2015:58
|
2015 | ... Err(Error::unknown_field(&value, FIELDS))
| ^^^^^^ help: change this to: `value`
|
= note: `-D clippy::needless-borrow` implied by `-D clippy::all`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression creates a reference which is immediately dereferenced by the compiler
--> serde/src/de/impls.rs:2355:54
|
2355 | ... Err(Error::unknown_field(&value, FIELDS))
| ^^^^^^ help: change this to: `value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this lifetime isn't used in the impl
--> serde/src/de/value.rs:607:11
|
607 | impl<'de, 'a, E> de::EnumAccess<'de> for StringDeserializer<E>
| ^^
|
= note: `-D clippy::extra-unused-lifetimes` implied by `-D clippy::all`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
I'm not sure what is going on with this lint but it's triggering in a
lot of test code. Will need to investigate further.
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:194:21
|
194 | bound = "E: SerializeWith + DeserializeWith"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::type-repetition-in-bounds` implied by `-D clippy::pedantic`
= help: consider combining the bounds: `"E: SerializeWith + DeserializeWith": "E: SerializeWith + DeserializeWith" + "E: SerializeWith + DeserializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:184:21
|
184 | #[serde(bound = "D: SerializeWith + DeserializeWith")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"D: SerializeWith + DeserializeWith": "D: SerializeWith + DeserializeWith" + "D: SerializeWith + DeserializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:210:31
|
210 | bound(serialize = "E: SerializeWith")
| ^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"E: SerializeWith": "E: SerializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:201:31
|
201 | #[serde(bound(serialize = "D: SerializeWith", deserialize = "D: DeserializeWith"))]
| ^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"D: SerializeWith": "D: SerializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:231:21
|
231 | bound = "E: SerializeWith + DeserializeWith"
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"E: SerializeWith + DeserializeWith": "E: SerializeWith + DeserializeWith" + "E: SerializeWith + DeserializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:221:21
|
221 | #[serde(bound = "D: SerializeWith + DeserializeWith")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"D: SerializeWith + DeserializeWith": "D: SerializeWith + DeserializeWith" + "D: SerializeWith + DeserializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:247:31
|
247 | bound(serialize = "E: SerializeWith")
| ^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"E: SerializeWith": "E: SerializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_gen.rs:238:31
|
238 | #[serde(bound(serialize = "D: SerializeWith", deserialize = "D: DeserializeWith"))]
| ^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `"D: SerializeWith": "D: SerializeWith"`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:84:5
|
84 | C: MyDefault,
| ^^^^^^^^^^^^
|
= note: `-D clippy::type-repetition-in-bounds` implied by `-D clippy::pedantic`
= help: consider combining the bounds: `C: MyDefault`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:85:5
|
85 | E: MyDefault,
| ^^^^^^^^^^^^
|
= help: consider combining the bounds: `E: MyDefault`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:105:5
|
105 | C: MyDefault;
| ^^^^^^^^^^^^
|
= help: consider combining the bounds: `C: MyDefault`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:1066:5
|
1066 | B: 'a,
| ^^^^^
|
= help: consider combining the bounds: ``
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:1067:5
|
1067 | D: SerializeWith,
| ^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `D: SerializeWith`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:1106:5
|
1106 | B: SerializeWith,
| ^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `B: SerializeWith`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:1150:5
|
1150 | B: SerializeWith,
| ^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `B: SerializeWith`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
error: this type has already been used as a bound predicate
--> test_suite/tests/test_annotations.rs:1368:5
|
1368 | B: DeserializeWith,
| ^^^^^^^^^^^^^^^^^^
|
= help: consider combining the bounds: `B: DeserializeWith`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
This allows non-Cargo builds to generally not get involved in cfgs. As
long as one is using a reasonably recent toolchain, no cfgs need to be
set and you'll get a fully-featured build.
error: all variants have the same prefix: `Serialize`
--> test_suite/tests/test_macros.rs:1741:5
|
1741 | / enum E {
1742 | | #[serde(rename_all = "camelCase")]
1743 | | Serialize {
1744 | | serialize: bool,
... |
1756 | | },
1757 | | }
| |_____^
|
= note: `-D clippy::enum-variant-names` implied by `-D clippy::all`
= help: remove the prefixes and use full paths to the variants instead of glob imports
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
error: redundant closure
--> serde_derive/src/bound.rs:53:19
|
53 | .flat_map(|predicates| predicates.to_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `[T]::to_vec`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::redundant_closure_for_method_calls)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_for_method_calls
error: redundant closure
--> serde_derive/src/bound.rs:75:19
|
75 | .flat_map(|predicates| predicates.to_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `[T]::to_vec`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_for_method_calls
Currently fails:
error[E0509]: cannot move out of type `RemotePackedNonCopyDef`, which implements the `Drop` trait
--> test_suite/tests/test_gen.rs:876:10
|
876 | #[derive(Deserialize)]
| ^^^^^^^^^^^
| |
| cannot move out of here
| data moved here
| move occurs because `__v1` has type `std::string::String`, which does not implement the `Copy` trait
|
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
Currently fails to build:
error: reference to packed field is unaligned
--> test_suite/tests/test_gen.rs:858:10
|
858 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(unaligned_references)]` implied by `#[deny(warnings)]`
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: reference to packed field is unaligned
--> test_suite/tests/test_gen.rs:858:21
|
858 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position
--> serde_test/src/ser.rs:44:10
|
44 | );
| ^
...
152 | Some(&Token::BorrowedStr(_)) => assert_next_token!(self, BorrowedStr(v)),
| ---------------------------------------- in this macro invocation
|
= note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: this warning originates in the macro `assert_next_token` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position
--> serde_test/src/ser.rs:36:76
|
36 | assert_next_token!($ser, stringify!($actual), Token::$actual, true);
| ^
...
386 | Token::TupleVariantEnd => assert_next_token!(self.ser, TupleVariantEnd),
| --------------------------------------------- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: this warning originates in the macro `assert_next_token` (in Nightly builds, run with -Z macro-backtrace for more info)
Clippy bug: https://github.com/rust-lang/rust-clippy/issues/7422
error: use of irregular braces for `format_args!` macro
--> test_suite/tests/test_gen.rs:528:25
|
528 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
help: consider writing `Deserialize`
--> test_suite/tests/test_gen.rs:528:25
|
528 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonstandard_macro_braces
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: use of irregular braces for `format_args!` macro
--> test_suite/tests/test_annotations.rs:1791:43
|
1791 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
help: consider writing `Deserialize`
--> test_suite/tests/test_annotations.rs:1791:43
|
1791 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonstandard_macro_braces
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: this expression borrows a reference (`&syn::Type`) that is immediately dereferenced by the compiler
--> serde_derive/src/internals/check.rs:399:37
|
399 | if let Type::Path(ty) = ungroup(&field.ty) {
| ^^^^^^^^^ help: change this to: `field.ty`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::needless_borrow)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:478:52
|
478 | &type_path, params, fields, false, cattrs, &expecting,
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:564:76
|
564 | let visit_seq = Stmts(deserialize_seq_in_place(params, fields, cattrs, &expecting));
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:925:51
|
925 | &type_path, params, fields, true, cattrs, &expecting,
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:1066:76
|
1066 | let visit_seq = Stmts(deserialize_seq_in_place(params, fields, cattrs, &expecting));
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&proc_macro2::TokenStream`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:2288:80
|
2288 | let fallthrough_borrowed_arm = fallthrough_borrowed.as_ref().unwrap_or(&fallthrough_arm);
| ^^^^^^^^^^^^^^^^ help: change this to: `fallthrough_arm`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&syn::Member`) that is immediately dereferenced by the compiler
--> serde_derive/src/ser.rs:1102:43
|
1102 | get_member(params, field, &member)
| ^^^^^^^ help: change this to: `member`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:559:25
|
559 | serde_path.set(&m.path, path)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `serde_path.set(&m.path, path);`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::semicolon_if_nothing_returned)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1612:9
|
1612 | cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1623:9
|
1623 | cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1649:9
|
1649 | / cx.error_spanned_by(
1650 | | lit,
1651 | | format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1652 | | )
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
1649 | cx.error_spanned_by(
1650 | lit,
1651 | format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1652 | );
|
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/check.rs:260:9
|
260 | / cx.error_spanned_by(
261 | | cont.original,
262 | | format!("variant field name `{}` conflicts with internal tag", tag),
263 | | )
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
260 | cx.error_spanned_by(
261 | cont.original,
262 | format!("variant field name `{}` conflicts with internal tag", tag),
263 | );
|
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/de.rs:2090:9
|
2090 | flat_fields.extend(aliases.iter().map(|alias| (alias, ident)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `flat_fields.extend(aliases.iter().map(|alias| (alias, ident)));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: this loop could be written as a `for` loop
--> serde/src/private/de.rs:2835:9
|
2835 | while let Some(item) = self.iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for item in &mut self.iter`
|
note: the lint level is defined here
--> serde/src/lib.rs:97:44
|
97 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^
= note: `#[deny(clippy::while_let_on_iterator)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
error: this loop could be written as a `for` loop
--> serde/src/private/de.rs:2937:9
|
2937 | while let Some(item) = self.iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for item in &mut self.iter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
Iterator::copied was introduced in Rust 1.35, whereas serde_test
currently supports a minimum compiler version of 1.13.
error: used `cloned` where `copied` could be used instead
--> serde_test/src/de.rs:49:29
|
49 | self.tokens.first().cloned()
| ^^^^^^ help: try: `copied`
|
note: the lint level is defined here
--> serde_test/src/lib.rs:149:52
|
149 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::cloned_instead_of_copied)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_instead_of_copied
warning: lint `clippy::filter_map` has been removed: this lint has been replaced by `manual_filter_map`, a more specific lint
--> serde_derive/src/lib.rs:42:5
|
42 | clippy::filter_map,
| ^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::filter_map` has been removed: this lint has been replaced by `manual_filter_map`, a more specific lint
--> serde_derive/src/lib.rs:42:5
|
42 | clippy::filter_map,
| ^^^^^^^^^^^^^^^^^^
error: used `flat_map` where `filter_map` could be used instead
--> serde_derive/src/bound.rs:52:10
|
52 | .flat_map(|field| from_field(&field.attrs))
| ^^^^^^^^ help: try: `filter_map`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::flat_map_option)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#flat_map_option
error: used `flat_map` where `filter_map` could be used instead
--> serde_derive/src/bound.rs:74:10
|
74 | .flat_map(|variant| from_variant(&variant.attrs))
| ^^^^^^^^ help: try: `filter_map`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#flat_map_option
error: the feature `non_ascii_idents` has been stable since 1.53.0 and no longer requires an attribute to enable
--> test_suite/tests/test_gen.rs:6:43
|
6 | #![cfg_attr(feature = "unstable", feature(non_ascii_idents))]
| ^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(stable_features)]` implied by `#[deny(warnings)]`
warning: lint `safe_packed_borrows` has been renamed to `unaligned_references`
--> test_suite/tests/test_macros.rs:1926:8
|
1926 | #[deny(safe_packed_borrows)]
| ^^^^^^^^^^^^^^^^^^^ help: use the new name: `unaligned_references`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
https://github.com/rust-lang/rust-clippy/issues/7054
error: all if blocks contain the same code at the end
--> serde_derive/src/de.rs:2160:5
|
2160 | / &fallthrough_arm_tokens
2161 | | };
| |_____^
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::branches_sharing_code)]` implied by `#[deny(clippy::all)]`
= note: The end suggestion probably needs some adjustments to use the expression result correctly
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#branches_sharing_code
help: consider moving the end statements out like this
|
2160 | }
2161 | &fallthrough_arm_tokens;
|
This is equivalent to looping 0..=u8::MAX, except that `..=` syntax is
not supported on old rustc and `...` syntax is not supported on new
rustc, so loop it is.
https://github.com/rust-lang/rust-clippy/issues/6797
error[E0382]: use of partially moved value: `self`
--> serde_derive/src/internals/attr.rs:71:24
|
71 | self.value.map(|value| (self.tokens, value))
| ----^^^^^^^----------------------
| | | |
| | | use occurs due to use in closure
| | value used here after partial move
| `self.value` partially moved due to this method call
|
note: this function takes ownership of the receiver `self`, which moves `self.value`
--> /home/david/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:485:38
|
485 | pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Option<U> {
| ^^^^
= note: partial move occurs because `self.value` has type `std::option::Option<T>`, which does not implement the `Copy` trait
Unlike expr macros, macros in type position in a derive input are rare
enough that it's not worth supporting for an issue that has such an easy
workaround (just replace `Self` in the macro input with your type name).
I think there is no ambiguity in from_str as a method name so "choose a
less ambiguous method name" is unnecessary, and it can't be a FromStr
impl in this case because FromStr's error type cannot borrow from the
input string slice.
warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str`
--> serde_derive_internals/src/case.rs:50:5
|
50 | / pub fn from_str(rename_all_str: &str) -> Result<Self, ParseError> {
51 | | for (name, rule) in RENAME_RULES {
52 | | if rename_all_str == *name {
53 | | return Ok(*rule);
... |
58 | | })
59 | | }
| |_____^
|
= note: `#[warn(clippy::should_implement_trait)]` on by default
= help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait
This usage is fine. It's mirroring trait signatures in syn::visit::Visit.
error: unused `self` argument
--> serde_derive/src/bound.rs:241:24
|
241 | fn visit_macro(&mut self, _mac: &'ast syn::Macro) {}
| ^^^^^^^^^
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::unused_self)]` implied by `#[deny(clippy::pedantic)]`
= help: consider refactoring to a associated function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_self
The builtin visitor is fairly expensive to compile (3700 lines of code),
particularly if something else in the dependency graph also enables
syn/full. For the usage in serde_derive, it turns out to be easy to
replace.
The implied lifetime bound on T only works on 1.31+. Older versions fail
with:
error[E0309]: the parameter type `T` may not live long enough
--> serde/src/private/de.rs:2548:37
|
2548 | pub struct Borrowed<'de, T: ?Sized>(pub &'de T);
| -- ^^^^^^^^^^
| |
| help: consider adding an explicit lifetime bound `T: 'de`...
|
note: ...so that the reference type `&'de T` does not outlive the data it points at
--> serde/src/private/de.rs:2548:37
|
2548 | pub struct Borrowed<'de, T: ?Sized>(pub &'de T);
| ^^^^^^^^^^
The BorrowedDeserializer was added in #1917, but only makes sense for
&str and &[u8], not for u64 which also needs to be have an
IdentifierDeserializer impl.
We shouldn't try to use the same macro for public and private types. The
API for a private type can usually be pared much further down to save
compile time, such as Debug and Copy and Clone impls.
All of these macros are only used internally within the serde crate.
There is no need for them to have #[macro_export] and need to be hidden
from docs.
std::time::Duration::new can panic. There is no alternative non-panicing constructor.
Check the panic condition beforehand and return an error instead of panicing.
Fixes#1933
This fixes the errors that occur when IgnoredAny is deserialized
from anything containing a 128-bit integer somewhere. As IgnoredAny
is used in serde_derive to skip ignored fields in structs, these
errors currently prevent parsing of structs with an ignored field
containing a 128-bit integer in the serialization.
Both of these modules are doc(hidden) and commented "Not public API",
but incorrect downstream code sometimes still references them. Naming
the module __private will make it more likely to be noticed in code
review.
Fixes a rustdoc warning:
warning: unneeded long form for URL
--> serde/src/lib.rs:12:27
|
12 | //! See the Serde website [https://serde.rs/] for additional documentation and
| ^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://serde.rs/>`
|
= note: `#[warn(non_autolinks)]` on by default
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1876:9
|
1876 | / impl<'de> Deserialize<'de> for Field {
1877 | | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1878 | | where
1879 | | D: Deserializer<'de>,
... |
1917 | | }
1918 | | }
| |_________^
|
note: the lint level is defined here
--> serde/src/lib.rs:95:52
|
95 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::items_after_statements)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1920:9
|
1920 | struct DurationVisitor;
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1922:9
|
1922 | / impl<'de> Visitor<'de> for DurationVisitor {
1923 | | type Value = Duration;
1924 | |
1925 | | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
... |
1979 | | }
1980 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1982:9
|
1982 | const FIELDS: &'static [&'static str] = &["secs", "nanos"];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2001:9
|
2001 | / impl<'de> Deserialize<'de> for Field {
2002 | | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2003 | | where
2004 | | D: Deserializer<'de>,
... |
2042 | | }
2043 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2045:9
|
2045 | struct DurationVisitor;
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2047:9
|
2047 | / impl<'de> Visitor<'de> for DurationVisitor {
2048 | | type Value = Duration;
2049 | |
2050 | | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
... |
2108 | | }
2109 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2111:9
|
2111 | const FIELDS: &'static [&'static str] = &["secs_since_epoch", "nanos_since_epoch"];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: use `std::ptr::eq` when comparing raw pointers
--> serde_derive/src/de.rs:362:12
|
362 | if field as *const Field == transparent_field as *const Field {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::ptr::eq(field, transparent_field)`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::ptr_eq)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_eq
Before that fix following code panics, because `Token::Unit` was unexpected by test deserializer:
```
#[derive(Deserialize)]
enum E { ... }
assert_de_tokens_error::<E>(&[Token::Unit], "...");
```
Automatically generated enum variant deserializers allowed any integer
type as the discriminant, but the hand-written ones for specific enum
types such as Result or IpAddr only allowed types up to u32. This broke
some non-human-readable deserializers for these enums, with
deserializers that emit any integer type as a u64. Switch the visit_u32
methods to visit_u64 methods to allow discriminants to have any size up
to a u64.
This test has multiple #[ignore] attributes in some configurations.
$ cargo +beta check --test expandtest
warning: unused attribute
--> test_suite/tests/expandtest.rs:2:29
|
2 | #[cfg_attr(not(expandtest), ignore)]
| ^^^^^^
|
= note: `#[warn(unused_attributes)]` on by default
When building with beta and older rustc:
error: unknown lint: `mixed_script_confusables`
--> test_suite/tests/test_gen.rs:7:10
|
7 | #![allow(mixed_script_confusables, clippy::trivially_copy_pass_by_ref)]
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(unknown_lints)]` implied by `#[deny(warnings)]`
error: The usage of Script Group `Greek` in this crate consists solely of mixed script confusables
--> test_suite/tests/test_gen.rs:269:9
|
269 | σ: f64,
| ^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(mixed_script_confusables)]` implied by `#[deny(warnings)]`
= note: The usage includes 'σ' (U+03C3).
= note: Please recheck to make sure their usages are indeed what you want.
* Deserialize adjacently tagged newtype variants with optional content as None instead of erroring when content field is missing
* refactor to remove duplicate code and remove panic
Without this, Cargo could combine new serde_derive with old serde
resulting in generated code that refers to types that don't exist yet in
the serde version.
The docs imply that the only consideration for using the
serde_if_integer128 macro is support for older versions of Rust, but
Serde's build configuration for 128-bit integers is also gated on the
target platform. For example, if Serde is being compiled for an
emscripten target, then it will not provide 128-bit integer APIs.
See also: https://github.com/BurntSushi/rust-csv/issues/158
warning: the feature `alloc` has been stable since 1.36.0 and no longer requires an attribute to enable
--> serde/src/lib.rs:84:40
|
84 | #![cfg_attr(feature = "alloc", feature(alloc))]
| ^^^^^
|
= note: #[warn(stable_features)] on by default
These hit a strange error in our Emscripten builder in Travis as well as
locally through cargo web:
ERROR: failed to execute cargo: Resource temporarily unavailable (os error 11)
Without this:
error: failed to select a version for `serde_test_suite`.
... required by package `serde_test_suite-tests v0.0.0`
versions that meet the requirements `= 0.0.0` are: 0.0.0
the package `serde_test_suite-tests` depends on `serde_test_suite`, with features: `serde` but `serde_test_suite` does not have these features.
failed to select a version for `serde_test_suite` which could resolve this conflict
Seems like a Cargo bug -- I will minimize and report.
The nightly compiler just added a dependency on serde so libserde ends
up in the sysroot, breaking crate resolution inside of compiletest. We
will need to figure out how else to run these tests.
error[E0464]: multiple matching crates for `serde`
--> $DIR/wrong_ser.rs:9:10
|
9 | #[derive(Serialize)]
| ^^^^^^^^^
|
= note: candidates:
crate `serde`: /rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libserde-2b75907288aa7c40.rlib
crate `serde`: /serde/test_suite/deps/target/debug/deps/libserde-33e0a319242344ce.rlib
Also changed the generated code to have at least one thing refer to the
path directly, rather than via `use` -- This shows that the impl *can*
work without `use`, but doesn't actually do all the work to remove the
`use` lines unless we decide we need this feature to work on the 2015
edition
This is intended to be used by other crates which provide their own proc
macros and use serde internally. Today there's no consistent way to put
`#[derive(Deserialize)]` on a struct that consistently works, since
crates may be using either `features = ["derive"]` or relying on
`serde_derive` separately.
Even if we assume that everyone is using `features = ["derive"]`,
without this commit, any crate which generates
`#[derive(serde::Deserialize)]` forces its consumers to put `serde` in
their `Cargo.toml`, even if they aren't otherwise using serde for
anything.
Examples of crates which suffer from this in the real world are
tower-web and swirl.
With this feature, it's expected that these crates would have `pub
extern crate serde;` in some accessible path, and add
`#[serde(serde_path = "that_crate::wherever::serde")]` anywhere they
place serde's derives. Those crates would also have to derive
`that_crate::whatever::serde::Deserialize`, or `use` the macros
explicitly beforehand.
The test for this is a little funky, as it's testing this in a way that
is not the intended use case, or even one we want to support. It has its
own module which re-exports all of serde, but defines its own
`Serialize` and `Deserialize` traits. We then test that we generated
impls for those traits, instead of serde's. The only other way to test
this would be to create a new test crate which does not depend on serde,
but instead depends on `serde_derive` and a third crate which publicly
re-exports serde. This feels like way too much overhead for a single
test case, hence the funky test given.
I didn't see anywhere in this repo to document this attribute, so I
assume the docs will have to be done as a separate PR to a separate
repo.
Fixes#1487
Apparently Cargo is applying these features to the non-dev dependency on
serde as well. Concluded by running `cargo clean && cargo build` and
observing that serde_derive was getting built.
Added ui test struct-representation/internally-tagged-unit
Added ui test struct-representation/internally-tagged-tuple
Limited the serde(tag = "...") to enums and structs with named field
This allows ContentDeserializer and ContentRefDeserializer to
deserialize unsigned integers in deserialize_identifier, and
furthermore allows enums inside untagged enums to be correctly decoded
in formats which encode the enum variant as an integer.
Fixes https://github.com/serde-rs/serde/issues/1437.
The following changes are included:
- Delete per-file license notices at the top of each file.
- Delete the first paragraph of LICENSE-MIT (an inaccurate
pseudo-copyright line), leaving only the text of the MIT license.
Nothing about the license of Serde code has changed, only our
understanding of how to correctly communicate that license has changed.
This mirrors an equivalent change being applied in the rust-lang/rust
repository.
Not sure what is going on with this failure that just started happening with no
code change on our end. Wait and see if it goes away.
On asmjs-unknown-emscripten:
Assertion failed: compiled without a main, but one is present. if you added
it from JS, use Module["onRuntimeInitialized"]
undefined:109
throw ex;
^
abort("Assertion failed: compiled without a main, but one is present. if you
added it from JS, use Module[\"onRuntimeInitialized\"]") at Error
On wasm32-unknown-emscripten:
Assertion failed: compiled without a main, but one is present. if you added
it from JS, use Module["onRuntimeInitialized"]
failed to asynchronously prepare wasm: abort("Assertion failed: compiled
without a main, but one is present. if you added it from JS, use
Module[\"onRuntimeInitialized\"]") at Error
When originally added, this test used to contain a `#![plugin(clippy)]`.
This was removed at some point along the way, at which point this test
no longer tests anything. It prints:
warning: unknown lint: `identity_op`
--> src/main.rs:1:9
|
1 | #![deny(identity_op)]
| ^^^^^^^^^^^
|
= note: #[warn(unknown_lints)] on by default
which is swallowed and ignored by compiletest.
Nowadays Clippy handles warnings inside of macro expanded code
intelligently and this is something they would be responsible for
testing.
This should prevent accidentally inserting something under one of these
cfgs that is available only on a newer rustc. For example if something
is changed in the Duration serialization, but that change works only on
a recent rustc, our test suite will not have caught it before.
Before this change, flattening anything after a flattened map was
nonsensical because the later flattened field would always observe no
input fields.
#[derive(Deserialize)]
struct S {
#[serde(flatten)]
map: Map<K, V>,
#[serde(flatten)]
other: Other, // always empty
}
This change makes a flattened map not consume any of the input fields,
leaving them available to later flattened fields in the same struct. The
new behavior is useful when two flattened fields that both use
deserialize_map care about disjoint subsets of the fields in the input.
#[derive(Deserialize)]
struct S {
// Looks at fields with a "player1_" prefix.
#[serde(flatten, with = "prefix_player1")]
player1: Player,
// Looks at fields with a "player2_" prefix.
#[serde(flatten, with = "prefix_player2")]
player2: Player,
}
- Emphasize the association with Apache Hadoop,
- Rephrase "schematized data" because that term returns not many Google
results, doesn't seem widely recognized.
This was previously used by the unstable nonzero impls.
#[cfg(feature = "unstable")]
use core::num::{NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize};
Eventually we will want a build script that enables Serde impls for i128
and u128. As a first step here is a build script that does nothing to
see whether we can roll this out without breaking anyone's workflow,
without having a supported feature at stake in the event that it needs
to be rolled back.
We can continue to publish serde_derive_internals independently but
serde_derive no longer has a dependency on it. This improves compile
time of serde_derive by 7%.
The fact that the tag entry is consumed was only observable if there is
a later flattened map field, at which point the behavior is already
confusing anyway.
#[derive(Deserialize)]
struct Example {
#[serde(flatten)]
a: InternallyTagged,
#[serde(flatten)]
rest: BTreeMap<String, Value>,
}
Before this simplification the map would receive all the fields of the
internally tagged enum but not its tag, after it receives all the fields
including the tag.
This eliminates 12% of the Serde-related code in the Xi release binary
as measured by:
nm -S target/release/xi-core \
| awk '/serde/{sum += strtonum("0x"$2)} END{print sum}'
Without collect_other_fields, the visit_borrowed_str and
visit_borrowed_bytes implementations that were being generated were
identical to their default implementation of forwarding to visit_str and
visit_bytes.
This will fail later in compilation anyway, but serde_derive needs to
not crash before then.
#[derive(Deserialize)]
struct A {
field: &str,
}
error[E0106]: missing lifetime specifier
--> src/main.rs
|
| field: &str,
| ^ expected lifetime parameter
This changes the deserialize implementation for a borrowed Cow<[u8]>
to specifically request a byte slice, rather than a borrowed string.
The old behavior breaks any program which relies on data being
deserialized the same way as it was serialized and uses Cow<[u8]>.
In serde_json, it just wouldn't deserialize. In bincode, it
deserialized normally unless the bytes were invalid UTF8.
Fixes https://github.com/TyOverby/bincode/issues/231.
The number 4096 is used to cap the size of collections that we preallocate.
cmp::min(hint.unwrap_or(0), 4096)
I find this number more understandable than 0x1000.
The custom one was functionally identical to the default implementation given by
the Deserialize trait. If someone has benchmarks that the custom one performs
better, we can put it back.
When a field should be skipped during deserialization, it will not use its own Default implementation
when the container structure has `#[serde(default)]` set.
There are at least two reasonable things to expect the len field to
check: the length of the fields array passed to deserialize_struct, or
the number of field tokens. Even beyond these, in some cases it can be
useful to test deserialization with a bogus len to test how the
Deserialize impl reacts to an incorrect size_hint.
This reverts commit 436cafb0a3 which was
released in serde_test 1.0.20.
Serde's `ContentDeserializer` and `ContentRefDeserializer`
cannot deserialize struct enum variant associated data when
that data is encoded as a sequence. This failure leads to
errors when decoding an enum nested in another untagged
enum. For example:
#[derive(Serialize, Deserialize)]
#[serde(untagged)]
enum Foo {
A(Bar),
}
#[derive(Serialize, Deserialize)]
enum Bar {
B{f1: String},
}
let data1 = Foo::A(Bar::B{f1: "Hello".into()});
let bytes = rmp_serde::to_vec(&data1).unwrap();
let data2 = rmp_serde::from_slice::<Foo>(&bytes).unwrap();
Deserializing fails with the error `Syntax("data did not
match any variant of untagged enum Foo")`, but the
underlying failure occurs when decoding the associated data
of `Bar::B`.
This pull request fixes the issue by allowing
`ContentDeserializer` and `ContentRefDeserializer` to
deserialize sequence-encoded struct enum variant data.
Before
```
expected Token::Str but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
After
```
expected Token::Str(“f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4”) but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
The serde_test Serializer and Deserializer panic in is_human_readable unless the
readableness has been set explicitly through one of the hidden functions. This
is to force types that have distinct readable/compact representations to be
tested explicitly in one or the other, rather than with a plain assert_tokens
which arbitrarily picks one.
We need to follow up by designing a better API in serde_test to expose this
publicly. For now serde_test cannot be used to test types that rely on
is_human_readable. (The hidden functions are meant for our test suite only.)
During serialization, internally tagged enums invoke the Serializer's
serialize_struct. In JSON this turns into a map which uses visit_map
when deserialized. But some formats employ visit_seq when
deserializing a struct. One example is rmp-serde. Such formats were
previously unable to deserialize an internally tagged enum. This
change fixes it by adding visit_seq for internally tagged enums.
Since we know exactly how many bytes we should serialize as we can hint
to the serializer that it is not required which further reduces the
serialized size when compared to just serializing as bytes.
This implements the KISS suggested in https://github.com/serde-rs/serde/issues/790.
It is possible that one of the other approaches may be better but this
seemed like the simplest one to reignite som discussion.
Personally I find the original suggestion of adding two traits perhaps slightly
cleaner in theory but I think it ends up more complicated in the end
since the added traits also need to be duplicated to to the `Seed`
traits.
Closes#790
As discussed in #1013, serialize_with functions attached to variants receive an
argument for each inner value contained within the variant. Internally such a
function is wired up to the serializer as if the variant were a newtype variant.
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.