warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:489:6
|
489 | impl<'a> Expected for &'a str {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
489 - impl<'a> Expected for &'a str {
489 + impl Expected for &str {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:495:6
|
495 | impl<'a> Display for Expected + 'a {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
495 - impl<'a> Display for Expected + 'a {
495 + impl Display for Expected + '_ {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:1744:11
|
1744 | impl<'de, 'a, A> SeqAccess<'de> for &'a mut A
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1744 - impl<'de, 'a, A> SeqAccess<'de> for &'a mut A
1744 + impl<'de, A> SeqAccess<'de> for &mut A
|
warning: the following explicit lifetimes could be elided: 'a
--> serde/src/de/mod.rs:1897:11
|
1897 | impl<'de, 'a, A> MapAccess<'de> for &'a mut A
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
1897 - impl<'de, 'a, A> MapAccess<'de> for &'a mut A
1897 + impl<'de, A> MapAccess<'de> for &mut A
|
warning: the following explicit lifetimes could be elided: 'a, 'b
--> serde/src/ser/fmt.rs:38:6
|
38 | impl<'a, 'b> Serializer for &'a mut fmt::Formatter<'b> {
| ^^ ^^ ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
38 - impl<'a, 'b> Serializer for &'a mut fmt::Formatter<'b> {
38 + impl Serializer for &mut fmt::Formatter<'_> {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/internals/symbol.rs:49:6
|
49 | impl<'a> PartialEq<Symbol> for &'a Ident {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
49 - impl<'a> PartialEq<Symbol> for &'a Ident {
49 + impl PartialEq<Symbol> for &Ident {
|
warning: the following explicit lifetimes could be elided: 'a
--> serde_derive/src/internals/symbol.rs:61:6
|
61 | impl<'a> PartialEq<Symbol> for &'a Path {
| ^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
61 - impl<'a> PartialEq<Symbol> for &'a Path {
61 + impl PartialEq<Symbol> for &Path {
|
Although they are slightly different, this difference is irrelevant:
- MapDeserializer has a specialization for deserialize_seq and deserialize_tuple, but
only MapRefDeserializer::deserialize_any is used by the code which is almost the same
- MapDeserializer checks that map was consumed after visit_map, but MapRefDeserializer
does not. Actually, each derived implementation consumes map and each manual implementation
also should consume it
Also, MapDeserializer already used when value deserialized from ContentRefDeserializer
directly and MapRefDeserializer was only used to deserialize Struct variants of enums.
There are no reasons why the behavior should be different in those two cases
SeqRefDeserializer::deserialize_any has a special condition for empty sequence, which
emits visit_unit. That condition assumes that type would be able to deserialized from
unit, but:
1) struct variants was never able to deserialize from it (they expect only visit_map or visit_seq)
2) tuple variants even with zero fields expect visit_seq only. The suggestion to accept visit_unit
instead was rejected in #2520
Fixes (2):
newtype_enum::tuple0
newtype_enum::empty_struct_from_seq
`newtype` test also integrates test with `Bytes` tag, so be like
Removed the first assert_tokens because it is the same as the first assert in the merged method