Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from serde-rs:master #32

Open
wants to merge 1,053 commits into
base: master
Choose a base branch
from
Open
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Nov 6, 2023

  1. Configuration menu
    Copy the full SHA
    0726b2c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce8fef7 View commit details
    Browse the repository at this point in the history
  3. Relocate cfg attrs into forwarded_impl macro

    This will allow adding #[doc(cfg(feature = "..."))] attributes to the
    impl in an upcoming commit.
    dtolnay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    215c2b7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3f339de View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    64f949b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    05c2509 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9dacfbb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c8bc97c View commit details
    Browse the repository at this point in the history
  9. Merge pull request #2647 from dtolnay/doccfg

    Render `doc(cfg(...))` on feature gated APIs in docs.rs
    dtolnay authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    97dd07a View commit details
    Browse the repository at this point in the history
  10. Release 1.0.191

    dtolnay committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    59892e7 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Merge pull request #2646 from robsdedude/fix/2643/allow-tag-field-in-…

    …untagged
    
    Allow internal tag field in untagged variant
    dtolnay authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    35700eb View commit details
    Browse the repository at this point in the history
  2. Release 1.0.192

    dtolnay committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    4676abd View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. Configuration menu
    Copy the full SHA
    2083f43 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    c91c334 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2653 from emilbonnek/fix/range-to-from-de-mixup

    Fix Range{From,To} deserialize mixup
    dtolnay authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    24a78f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c4af41 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2654 from dtolnay/rangestartend

    Fix more RangeFrom / RangeEnd mixups
    dtolnay authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    332b0cb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    65d75b8 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #2655 from dtolnay/rangestartend

    Add RangeFrom and RangeTo tests
    dtolnay authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    c706281 View commit details
    Browse the repository at this point in the history
  7. Release 1.0.193

    dtolnay committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    44613c7 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2023

  1. Work around doc_link_with_quotes pedantic clippy lint

        warning: possible intra-doc link using quotes instead of backticks
          --> serde/src/de/mod.rs:67:41
           |
        67 | //!    - Rc\<T\>&emsp;*(if* features = ["rc"] *is enabled)*
           |                                         ^^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
           = note: `-W clippy::doc-link-with-quotes` implied by `-W clippy::pedantic`
           = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_link_with_quotes)]`
    
        warning: possible intra-doc link using quotes instead of backticks
          --> serde/src/de/mod.rs:68:42
           |
        68 | //!    - Arc\<T\>&emsp;*(if* features = ["rc"] *is enabled)*
           |                                          ^^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
    
        warning: possible intra-doc link using quotes instead of backticks
          --> serde/src/ser/mod.rs:64:41
           |
        64 | //!    - Rc\<T\>&emsp;*(if* features = ["rc"] *is enabled)*
           |                                         ^^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
    
        warning: possible intra-doc link using quotes instead of backticks
          --> serde/src/ser/mod.rs:65:42
           |
        65 | //!    - Arc\<T\>&emsp;*(if* features = ["rc"] *is enabled)*
           |                                          ^^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
    dtolnay committed Dec 3, 2023
    Configuration menu
    Copy the full SHA
    a0e6869 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2023

  1. Configuration menu
    Copy the full SHA
    3d6a789 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2669 from dtolnay/optionifletelse

    Remove option_if_let_else clippy suppression
    dtolnay authored Dec 30, 2023
    Configuration menu
    Copy the full SHA
    28c5d21 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. Configuration menu
    Copy the full SHA
    a9a6ee9 View commit details
    Browse the repository at this point in the history
  2. Release 1.0.194

    dtolnay committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    d2d977a View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. Pick up changes to non_exhaustive_omitted_patterns lint

        warning: the lint level must be set on the whole match
            --> serde_derive/src/internals/attr.rs:1855:9
             |
        1854 |         #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
             |                                                ------------------------------- remove this attribute
        1855 |         _ => {}
             |         ^
             |
             = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
             |
        1796 +     #[deny(non_exhaustive_omitted_patterns)]
        1797 |     match ty {
             |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/internals/receiver.rs:151:13
            |
        150 |             #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                    ------------------------------- remove this attribute
        151 |             _ => {}
            |             ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        109 +         #[deny(non_exhaustive_omitted_patterns)]
        110 |         match ty {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/internals/receiver.rs:188:25
            |
        187 |                         #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                                ------------------------------- remove this attribute
        188 |                         _ => {}
            |                         ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        180 +                     #[deny(non_exhaustive_omitted_patterns)]
        181 |                     match arg {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/internals/receiver.rs:213:13
            |
        212 |             #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                    ------------------------------- remove this attribute
        213 |             _ => {}
            |             ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        209 +         #[deny(non_exhaustive_omitted_patterns)]
        210 |         match bound {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/internals/receiver.rs:239:21
            |
        238 |                     #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                            ------------------------------- remove this attribute
        239 |                     _ => {}
            |                     ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        230 +                 #[deny(non_exhaustive_omitted_patterns)]
        231 |                 match predicate {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/bound.rs:185:17
            |
        184 |                 #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                        ------------------------------- remove this attribute
        185 |                 _ => {}
            |                 ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        146 +             #[deny(non_exhaustive_omitted_patterns)]
        147 |             match ty {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/bound.rs:209:29
            |
        207 | ...                       deny(non_exhaustive_omitted_patterns)
            |                                ------------------------------- remove this attribute
        208 | ...                   )]
        209 | ...                   _ => {}
            |                       ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        198 +                         #[deny(non_exhaustive_omitted_patterns)]
        199 |                         match arg {
            |
    
        warning: the lint level must be set on the whole match
           --> serde_derive/src/bound.rs:234:17
            |
        233 |                 #[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                        ------------------------------- remove this attribute
        234 |                 _ => {}
            |                 ^
            |
            = help: it no longer has any effect to set the lint level on an individual match arm
        help: set the lint level on the whole match
            |
        230 +             #[deny(non_exhaustive_omitted_patterns)]
        231 |             match bound {
            |
    dtolnay committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    7c65a9d View commit details
    Browse the repository at this point in the history
  2. Fill in omitted patterns for GenericArguments match

        error: some variants are not matched explicitly
            --> serde_derive/src/internals/attr.rs:1823:31
             |
        1823 |                         match arg {
             |                               ^^^ patterns `&GenericArgument::Const(_)`, `&GenericArgument::AssocConst(_)` and `&GenericArgument::Constraint(_)` not covered
             |
             = help: ensure that all variants are matched explicitly by adding the suggested match arms
             = note: the matched value is of type `&GenericArgument` and the `non_exhaustive_omitted_patterns` attribute was found
        note: the lint level is defined here
            --> serde_derive/src/internals/attr.rs:1797:49
             |
        1797 |         #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
             |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    dtolnay committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    8bc71de View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2670 from serde-rs/exhaustive

    Pick up changes to non_exhaustive_omitted_patterns lint
    dtolnay authored Jan 4, 2024
    Configuration menu
    Copy the full SHA
    961fa59 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2024

  1. Work around dead_code warning in tests

        error: field `0` is never read
           --> test_suite/tests/test_gen.rs:690:33
            |
        690 |         Single(#[serde(borrow)] RelObject<'a>),
            |         ------                  ^^^^^^^^^^^^^
            |         |
            |         field in this variant
            |
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        690 |         Single(#[serde(borrow)] ()),
            |                                 ~~
    
        error: field `0` is never read
           --> test_suite/tests/test_gen.rs:691:31
            |
        691 |         Many(#[serde(borrow)] Vec<RelObject<'a>>),
            |         ----                  ^^^^^^^^^^^^^^^^^^
            |         |
            |         field in this variant
            |
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        691 |         Many(#[serde(borrow)] ()),
            |                               ~~
    dtolnay committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    d883c94 View commit details
    Browse the repository at this point in the history
  2. Add FIXME to fix dead_code warning when using serde(remote)

        warning: field `0` is never read
           --> test_suite/tests/test_remote.rs:143:24
            |
        143 | struct PrimitivePubDef(u8);
            |        --------------- ^^
            |        |
            |        field in this struct
            |
            = note: `#[warn(dead_code)]` on by default
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        143 | struct PrimitivePubDef(());
            |                        ~~
    
        warning: field `0` is never read
           --> test_suite/tests/test_remote.rs:162:20
            |
        162 | struct TuplePubDef(u8, #[serde(with = "UnitDef")] remote::Unit);
            |        ----------- ^^
            |        |
            |        field in this struct
            |
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        162 | struct TuplePubDef((), #[serde(with = "UnitDef")] remote::Unit);
            |                    ~~
    
        warning: field `0` is never read
           --> test_suite/tests/test_remote.rs:200:13
            |
        200 |     Variant(u8),
            |     ------- ^^
            |     |
            |     field in this variant
            |
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        200 |     Variant(()),
            |             ~~
    
        error: field `0` is never read
           --> test_suite/tests/test_gen.rs:390:23
            |
        390 |     struct StrDef<'a>(&'a str);
            |            ------     ^^^^^^^
            |            |
            |            field in this struct
            |
        note: the lint level is defined here
           --> test_suite/tests/test_gen.rs:5:9
            |
        5   | #![deny(warnings)]
            |         ^^^^^^^^
            = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        390 |     struct StrDef<'a>(());
            |                       ~~
    dtolnay committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    6f1a8c3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6502b31 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    38d9e0b View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2671 from dtolnay/deadremote

    Fix new dead_code warning in tuple struct and tuple variant remote defs
    dtolnay authored Jan 6, 2024
    Configuration menu
    Copy the full SHA
    196f311 View commit details
    Browse the repository at this point in the history
  6. Release 1.0.195

    dtolnay committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    03eec42 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Use shields.io's MSRV badges

    Sky9x authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    0024f74 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2673 from Sky9x/msrv-badge

    Use shields.io's MSRV badges
    dtolnay authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    111803a View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. Adding workspace dependencies

    rodoufu committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    dd61963 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2678 from rodoufu/workspaceDependencies

    Adding workspace dependencies
    dtolnay authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    1c675ab View commit details
    Browse the repository at this point in the history
  3. Sort workspace dependencies

    dtolnay committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    aecb408 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Fix workspace.dependencies default-features future compat warning

        warning: serde_derive_internals/Cargo.toml: `default-features` is
        ignored for syn, since `default-features` was not specified for
        `workspace.dependencies.syn`, this could become a hard error in the
        future
    dtolnay committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    29d9f69 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2681 from dtolnay/workspacedeps

    Fix workspace.dependencies default-features future compat warning
    dtolnay authored Jan 26, 2024
    Configuration menu
    Copy the full SHA
    b971ef1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bef110b View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2682 from dtolnay/decimalpoint

    Format Unexpected::Float with decimal point
    dtolnay authored Jan 26, 2024
    Configuration menu
    Copy the full SHA
    d438c2d View commit details
    Browse the repository at this point in the history
  5. Release 1.0.196

    dtolnay committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    ede9762 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Ignore dead_code warnings in test

        warning: trait `AssertNotSerdeSerialize` is never used
          --> test_suite/tests/test_serde_path.rs:39:7
           |
        39 | trait AssertNotSerdeSerialize {}
           |       ^^^^^^^^^^^^^^^^^^^^^^^
           |
           = note: `#[warn(dead_code)]` on by default
    
        warning: trait `AssertNotSerdeDeserialize` is never used
          --> test_suite/tests/test_serde_path.rs:43:7
           |
        43 | trait AssertNotSerdeDeserialize<'a> {}
           |       ^^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: method `serialize` is never used
          --> test_suite/tests/test_serde_path.rs:31:12
           |
        30 |     pub trait Serialize {
           |               --------- method in this trait
        31 |         fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>;
           |            ^^^^^^^^^
    
        warning: associated function `deserialize` is never used
          --> test_suite/tests/test_serde_path.rs:35:12
           |
        34 |     pub trait Deserialize<'a>: Sized {
           |               ----------- associated function in this trait
        35 |         fn deserialize<D: Deserializer<'a>>(deserializer: D) -> Result<Self, D::Error>;
           |            ^^^^^^^^^^^
    dtolnay committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    846f865 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2024

  1. Ignore incompatible_msrv clippy lint for conditionally compiled code

        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
           --> serde/src/de/impls.rs:200:39
            |
        200 |                   Ok((v as Self::Value).copysign(sign))
            |                                         ^^^^^^^^^^^^^^
        ...
        374 | / impl_deserialize_num! {
        375 | |     f32, deserialize_f32
        376 | |     num_self!(f32:visit_f32);
        377 | |     num_as_copysign_self!(f64:visit_f64);
        378 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        379 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        380 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
            = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
            = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`
            = note: this warning originates in the macro `num_as_copysign_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
           --> serde/src/de/impls.rs:200:39
            |
        200 |                   Ok((v as Self::Value).copysign(sign))
            |                                         ^^^^^^^^^^^^^^
        ...
        382 | / impl_deserialize_num! {
        383 | |     f64, deserialize_f64
        384 | |     num_self!(f64:visit_f64);
        385 | |     num_as_copysign_self!(f32:visit_f32);
        386 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        387 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        388 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
            = note: this warning originates in the macro `num_as_copysign_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
            --> serde/src/de/impls.rs:2308:14
             |
        2308 |             .checked_add(duration)
             |              ^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
    
        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
           --> serde/src/ser/impls.rs:606:26
            |
        606 |                       self.get().serialize(serializer)
            |                            ^^^^^
        ...
        623 | / nonzero_integers! {
        624 | |     NonZeroI8,
        625 | |     NonZeroI16,
        626 | |     NonZeroI32,
        ...   |
        629 | |     NonZeroIsize,
        630 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
            = note: this warning originates in the macro `nonzero_integers` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
            --> serde/src/ser/impls.rs:1053:26
             |
        1053 |                       self.load(Ordering::Relaxed).serialize(serializer)
             |                            ^^^^^^^^^^^^^^^^^^^^^^^
        ...
        1061 | / atomic_impl! {
        1062 | |     AtomicBool "8"
        1063 | |     AtomicI8 "8"
        1064 | |     AtomicI16 "16"
        ...    |
        1070 | |     AtomicUsize "ptr"
        1071 | | }
             | |_- in this macro invocation
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
             = note: this warning originates in the macro `atomic_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.34.0`
            --> serde/src/ser/impls.rs:1053:26
             |
        1053 |                       self.load(Ordering::Relaxed).serialize(serializer)
             |                            ^^^^^^^^^^^^^^^^^^^^^^^
        ...
        1074 | / atomic_impl! {
        1075 | |     AtomicI64 "64"
        1076 | |     AtomicU64 "64"
        1077 | | }
             | |_- in this macro invocation
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
             = note: this warning originates in the macro `atomic_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    9e68062 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Configuration menu
    Copy the full SHA
    c42ebb8 View commit details
    Browse the repository at this point in the history
  2. A few minor write_str optimizations and inlining

    Apparently `write!` generates more code than `write_str` when used with a simple string, so optimizing it.
    nyurik committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    b8fafef View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Merge pull request #2697 from nyurik/format-str

    A few minor `write_str` optimizations
    dtolnay authored Feb 13, 2024
    Configuration menu
    Copy the full SHA
    1d54973 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Resolve prelude redundant import warnings

        warning: the item `Into` is imported redundantly
           --> serde/src/lib.rs:184:47
            |
        184 |     pub use self::core::convert::{self, From, Into};
            |                                               ^^^^
            |
           ::: nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/prelude/mod.rs:115:13
            |
        115 |     pub use super::v1::*;
            |             --------- the item `Into` is already defined here
            |
            = note: `#[warn(unused_imports)]` on by default
    dtolnay committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    f5d8ae4 View commit details
    Browse the repository at this point in the history
  2. Release 1.0.197

    dtolnay committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    5fa711d View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Resolve multiple_bound_locations clippy lint

        warning: bound is defined in more than one place
          --> serde/src/ser/fmt.rs:77:33
           |
        77 |     fn serialize_newtype_struct<T: ?Sized>(self, _name: &'static str, value: &T) -> fmt::Result
           |                                 ^
        78 |     where
        79 |         T: Serialize,
           |         ^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
           = note: `-W clippy::multiple-bound-locations` implied by `-W clippy::all`
           = help: to override `-W clippy::all` add `#[allow(clippy::multiple_bound_locations)]`
    
        warning: bound is defined in more than one place
          --> serde/src/ser/fmt.rs:92:23
           |
        92 |     fn serialize_some<T: ?Sized>(self, _value: &T) -> fmt::Result
           |                       ^
        93 |     where
        94 |         T: Serialize,
           |         ^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/fmt.rs:103:34
            |
        103 |     fn serialize_newtype_variant<T: ?Sized>(
            |                                  ^
        ...
        111 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/fmt.rs:164:20
            |
        164 |     fn collect_str<T: ?Sized>(self, value: &T) -> fmt::Result
            |                    ^
        165 |     where
        166 |         T: Display,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
          --> serde/src/ser/impossible.rs:75:26
           |
        75 |     fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
           |                          ^
        76 |     where
        77 |         T: Serialize,
           |         ^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
          --> serde/src/ser/impossible.rs:95:26
           |
        95 |     fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
           |                          ^
        96 |     where
        97 |         T: Serialize,
           |         ^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:115:24
            |
        115 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
            |                        ^
        116 |     where
        117 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:135:24
            |
        135 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
            |                        ^
        136 |     where
        137 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:155:22
            |
        155 |     fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Error>
            |                      ^
        156 |     where
        157 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:163:24
            |
        163 |     fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
            |                        ^
        164 |     where
        165 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:183:24
            |
        183 |     fn serialize_field<T: ?Sized>(&mut self, key: &'static str, value: &T) -> Result<(), Error>
            |                        ^
        184 |     where
        185 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/impossible.rs:204:24
            |
        204 |     fn serialize_field<T: ?Sized>(&mut self, key: &'static str, value: &T) -> Result<(), Error>
            |                        ^
        205 |     where
        206 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/mod.rs:799:23
            |
        799 |     fn serialize_some<T: ?Sized>(self, value: &T) -> Result<Self::Ok, Self::Error>
            |                       ^
        800 |     where
        801 |         T: Serialize;
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/mod.rs:894:33
            |
        894 |     fn serialize_newtype_struct<T: ?Sized>(
            |                                 ^
        ...
        900 |         T: Serialize;
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/ser/mod.rs:928:34
            |
        928 |     fn serialize_newtype_variant<T: ?Sized>(
            |                                  ^
        ...
        936 |         T: Serialize;
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1349:20
             |
        1349 |     fn collect_str<T: ?Sized>(self, value: &T) -> Result<Self::Ok, Self::Error>
             |                    ^
        1350 |     where
        1351 |         T: Display,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1496:26
             |
        1496 |     fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                          ^
        1497 |     where
        1498 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1596:26
             |
        1596 |     fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                          ^
        1597 |     where
        1598 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1641:24
             |
        1641 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                        ^
        1642 |     where
        1643 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1699:24
             |
        1699 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                        ^
        1700 |     where
        1701 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1770:22
             |
        1770 |     fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Self::Error>
             |                      ^
        1771 |     where
        1772 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1780:24
             |
        1780 |     fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                        ^
        1781 |     where
        1782 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1801:24
             |
        1801 |     fn serialize_entry<K: ?Sized, V: ?Sized>(
             |                        ^
        ...
        1807 |         K: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1801:35
             |
        1801 |     fn serialize_entry<K: ?Sized, V: ?Sized>(
             |                                   ^
        ...
        1808 |         V: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1859:24
             |
        1859 |     fn serialize_field<T: ?Sized>(
             |                        ^
        ...
        1865 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/ser/mod.rs:1925:24
             |
        1925 |     fn serialize_field<T: ?Sized>(
             |                        ^
        ...
        1931 |         T: Serialize;
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:177:23
            |
        177 |     fn serialize_some<T: ?Sized>(self, _: &T) -> Result<Self::Ok, Self::Error>
            |                       ^
        178 |     where
        179 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:208:33
            |
        208 |     fn serialize_newtype_struct<T: ?Sized>(
            |                                 ^
        ...
        214 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:219:34
            |
        219 |     fn serialize_newtype_variant<T: ?Sized>(
            |                                  ^
        ...
        227 |         T: Serialize,
            |         ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:367:28
            |
        367 |         fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), M::Error>
            |                            ^
        368 |         where
        369 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:407:28
            |
        407 |         fn serialize_field<T: ?Sized>(
            |                            ^
        ...
        413 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:638:27
            |
        638 |         fn serialize_some<T: ?Sized>(self, value: &T) -> Result<Content, E>
            |                           ^
        639 |         where
        640 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:662:37
            |
        662 |         fn serialize_newtype_struct<T: ?Sized>(
            |                                     ^
        ...
        668 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:676:38
            |
        676 |         fn serialize_newtype_variant<T: ?Sized>(
            |                                      ^
        ...
        684 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:785:30
            |
        785 |         fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), E>
            |                              ^
        786 |         where
        787 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:811:30
            |
        811 |         fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), E>
            |                              ^
        812 |         where
        813 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:838:28
            |
        838 |         fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), E>
            |                            ^
        839 |         where
        840 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:867:28
            |
        867 |         fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), E>
            |                            ^
        868 |         where
        869 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:899:26
            |
        899 |         fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), E>
            |                          ^
        900 |         where
        901 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:908:28
            |
        908 |         fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), E>
            |                            ^
        909 |         where
        910 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:925:28
            |
        925 |         fn serialize_entry<K: ?Sized, V: ?Sized>(&mut self, key: &K, value: &V) -> Result<(), E>
            |                            ^
        926 |         where
        927 |             K: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:925:39
            |
        925 |         fn serialize_entry<K: ?Sized, V: ?Sized>(&mut self, key: &K, value: &V) -> Result<(), E>
            |                                       ^
        ...
        928 |             V: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:950:28
            |
        950 |         fn serialize_field<T: ?Sized>(&mut self, key: &'static str, value: &T) -> Result<(), E>
            |                            ^
        951 |         where
        952 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
           --> serde/src/private/ser.rs:979:28
            |
        979 |         fn serialize_field<T: ?Sized>(&mut self, key: &'static str, value: &T) -> Result<(), E>
            |                            ^
        980 |         where
        981 |             T: Serialize,
            |             ^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1091:23
             |
        1091 |     fn serialize_some<T: ?Sized>(self, value: &T) -> Result<Self::Ok, Self::Error>
             |                       ^
        1092 |     where
        1093 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1115:33
             |
        1115 |     fn serialize_newtype_struct<T: ?Sized>(
             |                                 ^
        ...
        1121 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1126:34
             |
        1126 |     fn serialize_newtype_variant<T: ?Sized>(
             |                                  ^
        ...
        1134 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1205:22
             |
        1205 |     fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Self::Error>
             |                      ^
        1206 |     where
        1207 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1212:24
             |
        1212 |     fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                        ^
        1213 |     where
        1214 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1219:24
             |
        1219 |     fn serialize_entry<K: ?Sized, V: ?Sized>(
             |                        ^
        ...
        1225 |         K: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1219:35
             |
        1219 |     fn serialize_entry<K: ?Sized, V: ?Sized>(
             |                                   ^
        ...
        1226 |         V: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1247:24
             |
        1247 |     fn serialize_field<T: ?Sized>(
             |                        ^
        ...
        1253 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1292:24
             |
        1292 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
             |                        ^
        1293 |     where
        1294 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    
        warning: bound is defined in more than one place
            --> serde/src/private/ser.rs:1338:24
             |
        1338 |     fn serialize_field<T: ?Sized>(
             |                        ^
        ...
        1344 |         T: Serialize,
             |         ^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
    dtolnay committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    c9cab49 View commit details
    Browse the repository at this point in the history
  2. Remove ineffective ?Sized bound on weak rc Deserialize impls

    These impls have both `T: ?Sized` and `T: Deserialize<'de>`. But
    `Deserialize<'de>: Sized`.
    dtolnay committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    89139e2 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2024

  1. Configuration menu
    Copy the full SHA
    00c4b0c View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2024

  1. Ignore new dead_code warnings in test

    Since nightly-2024-03-12.
    
        warning: struct `PackedC` is never constructed
            --> test_suite/tests/test_macros.rs:2237:12
             |
        2237 |     struct PackedC {
             |            ^^^^^^^
             |
             = note: `#[warn(dead_code)]` on by default
    
        warning: struct `CPacked` is never constructed
            --> test_suite/tests/test_macros.rs:2243:12
             |
        2243 |     struct CPacked {
             |            ^^^^^^^
    
        warning: struct `CPacked2` is never constructed
            --> test_suite/tests/test_macros.rs:2249:12
             |
        2249 |     struct CPacked2 {
             |            ^^^^^^^^
    
        warning: struct `Packed2C` is never constructed
            --> test_suite/tests/test_macros.rs:2255:12
             |
        2255 |     struct Packed2C {
             |            ^^^^^^^^
    
        error: struct `Packed` is never constructed
           --> test_suite/tests/test_gen.rs:733:12
            |
        733 |     struct Packed {
            |            ^^^^^^
            |
        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: struct `Struct` is never constructed
           --> test_suite/tests/test_gen.rs:764:12
            |
        764 |     struct Struct {
            |            ^^^^^^
    
        error: function `vec_first_element` is never used
           --> test_suite/tests/test_gen.rs:846:4
            |
        846 | fn vec_first_element<T, S>(vec: &[T], serializer: S) -> StdResult<S::Ok, S::Error>
            |    ^^^^^^^^^^^^^^^^^
    dtolnay committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    7644948 View commit details
    Browse the repository at this point in the history
  2. Fix warning on no edition set in serde_derive

    New warning since nightly-2024-03-03:
    
        warning: serde_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while 2018 is compatible with `rust-version`
        warning: serde_derive_internals/Cargo.toml: no edition set: defaulting to the 2015 edition while 2018 is compatible with `rust-version`
    dtolnay committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    3f43fca View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2024

  1. Configuration menu
    Copy the full SHA
    eae7c2d View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2714 from Marcono1234/skipped-field-struct-len

    Document that `len` does not include skipped struct fields
    dtolnay authored Mar 16, 2024
    Configuration menu
    Copy the full SHA
    9f8c579 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2024

  1. Ignore dead code lint in tests

    New in nightly-2024-03-24 from rust-lang/rust#119552.
    
        warning: fields `nested` and `string` are never read
          --> test_suite/tests/regression/issue2371.rs:10:9
           |
        8  |     Flatten {
           |     ------- fields in this variant
        9  |         #[serde(flatten)]
        10 |         nested: Nested,
           |         ^^^^^^
        11 |         string: &'static str,
           |         ^^^^^^
           |
           = note: `#[warn(dead_code)]` on by default
    
        warning: fields `nested` and `string` are never read
          --> test_suite/tests/regression/issue2371.rs:20:9
           |
        18 |     Flatten {
           |     ------- fields in this variant
        19 |         #[serde(flatten)]
        20 |         nested: Nested,
           |         ^^^^^^
        21 |         string: &'static str,
           |         ^^^^^^
    
        warning: fields `nested` and `string` are never read
          --> test_suite/tests/regression/issue2371.rs:30:9
           |
        28 |     Flatten {
           |     ------- fields in this variant
        29 |         #[serde(flatten)]
        30 |         nested: Nested,
           |         ^^^^^^
        31 |         string: &'static str,
           |         ^^^^^^
    
        warning: fields `nested` and `string` are never read
          --> test_suite/tests/regression/issue2371.rs:40:9
           |
        38 |     Flatten {
           |     ------- fields in this variant
        39 |         #[serde(flatten)]
        40 |         nested: Nested,
           |         ^^^^^^
        41 |         string: &'static str,
           |         ^^^^^^
    
        warning: field `0` is never read
           --> test_suite/tests/test_gen.rs:690:33
            |
        690 |         Single(#[serde(borrow)] RelObject<'a>),
            |         ------                  ^^^^^^^^^^^^^
            |         |
            |         field in this variant
            |
            = note: `#[warn(dead_code)]` on by default
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        690 |         Single(#[serde(borrow)] ()),
            |                                 ~~
    
        warning: field `0` is never read
           --> test_suite/tests/test_gen.rs:691:31
            |
        691 |         Many(#[serde(borrow)] Vec<RelObject<'a>>),
            |         ----                  ^^^^^^^^^^^^^^^^^^
            |         |
            |         field in this variant
            |
        help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
            |
        691 |         Many(#[serde(borrow)] ()),
            |                               ~~
    dtolnay committed Mar 24, 2024
    Configuration menu
    Copy the full SHA
    364cd8d View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    3bfab6e View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Explicitly install a Rust toolchain for cargo-outdated job

    Debugging a recent cargo-outdated bug, it would have been nice not to
    wonder whether a rustc version change in GitHub's runner image was a
    contributing factor.
    dtolnay committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    74d0670 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2024

  1. Resolve legacy_numeric_constants clippy lints

        warning: usage of a legacy numeric method
           --> serde_derive/src/ser.rs:292:51
            |
        292 |     assert!(fields.len() as u64 <= u64::from(u32::max_value()));
            |                                                   ^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
            = note: `#[warn(clippy::legacy_numeric_constants)]` on by default
        help: use the associated constant instead
            |
        292 |     assert!(fields.len() as u64 <= u64::from(u32::MAX));
            |                                                   ~~~
    
        warning: usage of a legacy numeric method
           --> serde_derive/src/ser.rs:400:53
            |
        400 |     assert!(variants.len() as u64 <= u64::from(u32::max_value()));
            |                                                     ^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
        help: use the associated constant instead
            |
        400 |     assert!(variants.len() as u64 <= u64::from(u32::MAX));
            |                                                     ~~~
    
        warning: usage of a legacy numeric method
            --> test_suite/tests/test_de_error.rs:1462:29
             |
        1462 |             Token::U64(u64::max_value()),
             |                             ^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
             = note: `-W clippy::legacy-numeric-constants` implied by `-W clippy::all`
             = help: to override `-W clippy::all` add `#[allow(clippy::legacy_numeric_constants)]`
        help: use the associated constant instead
             |
        1462 |             Token::U64(u64::MAX),
             |                             ~~~
    
        warning: usage of a legacy numeric method
            --> test_suite/tests/test_de_error.rs:1479:29
             |
        1479 |             Token::U64(u64::max_value()),
             |                             ^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
        help: use the associated constant instead
             |
        1479 |             Token::U64(u64::MAX),
             |                             ~~~
    
        warning: usage of a legacy numeric method
            --> test_suite/tests/test_de_error.rs:1493:29
             |
        1493 |             Token::U64(u64::max_value()),
             |                             ^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
        help: use the associated constant instead
             |
        1493 |             Token::U64(u64::MAX),
             |                             ~~~
    
        warning: usage of a legacy numeric method
            --> test_suite/tests/test_de_error.rs:1510:29
             |
        1510 |             Token::U64(u64::max_value()),
             |                             ^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
        help: use the associated constant instead
             |
        1510 |             Token::U64(u64::MAX),
             |                             ~~~
    dtolnay committed Apr 6, 2024
    Configuration menu
    Copy the full SHA
    5b24f88 View commit details
    Browse the repository at this point in the history
  2. Implement Ser+De for Saturating<T>

    The serialization implementation is heavily
    inspired by the existing trait implentation for
    `std::num::Wrapping<T>`.
    
    The deserializing implementation maps input values
    that lie outside of the numerical range of the
    output type to the `MIN` or `MAX` value of the
    output type, depending on the sign of the input
    value. This behaviour follows to the `Saturating`
    semantics of the output type.
    
    fix #2708
    Jörn Bethune committed Apr 6, 2024
    Configuration menu
    Copy the full SHA
    3d1b19e View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Revert "Temporarily disable miri on doctests"

    This reverts commit 3bfab6e.
    dtolnay committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    6e38aff View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Merge pull request #2709 from jbethune/master

    Implement Ser+De for Saturating<T>
    oli-obk authored Apr 11, 2024
    Configuration menu
    Copy the full SHA
    a6571ee View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Format PR 2709

    dtolnay committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    c13b3f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    01cd696 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2729 from dtolnay/saturating

    Integrate Saturating<T> deserialization into impl_deserialize_num macro
    dtolnay authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    65b7eea View commit details
    Browse the repository at this point in the history
  4. Release 1.0.198

    dtolnay committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    c4fb923 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2024

  1. Ignore cast_precision_loss pedantic clippy lint

        warning: casting `i32` to `f32` causes a loss of precision (`i32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        457 | / impl_deserialize_num! {
        458 | |     f32, deserialize_f32
        459 | |     num_self!(f32:visit_f32);
        460 | |     num_as_copysign_self!(f64:visit_f64);
        461 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        462 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        463 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: `-W clippy::cast-precision-loss` implied by `-W clippy::pedantic`
            = help: to override `-W clippy::pedantic` add `#[allow(clippy::cast_precision_loss)]`
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: casting `i64` to `f32` causes a loss of precision (`i64` is 64 bits wide, but `f32`'s mantissa is only 23 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        457 | / impl_deserialize_num! {
        458 | |     f32, deserialize_f32
        459 | |     num_self!(f32:visit_f32);
        460 | |     num_as_copysign_self!(f64:visit_f64);
        461 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        462 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        463 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: casting `u32` to `f32` causes a loss of precision (`u32` is 32 bits wide, but `f32`'s mantissa is only 23 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        457 | / impl_deserialize_num! {
        458 | |     f32, deserialize_f32
        459 | |     num_self!(f32:visit_f32);
        460 | |     num_as_copysign_self!(f64:visit_f64);
        461 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        462 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        463 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: casting `u64` to `f32` causes a loss of precision (`u64` is 64 bits wide, but `f32`'s mantissa is only 23 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        457 | / impl_deserialize_num! {
        458 | |     f32, deserialize_f32
        459 | |     num_self!(f32:visit_f32);
        460 | |     num_as_copysign_self!(f64:visit_f64);
        461 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        462 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        463 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: casting `i64` to `f64` causes a loss of precision (`i64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        465 | / impl_deserialize_num! {
        466 | |     f64, deserialize_f64
        467 | |     num_self!(f64:visit_f64);
        468 | |     num_as_copysign_self!(f32:visit_f32);
        469 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        470 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        471 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: casting `u64` to `f64` causes a loss of precision (`u64` is 64 bits wide, but `f64`'s mantissa is only 52 bits wide)
           --> serde/src/de/impls.rs:197:16
            |
        197 |               Ok(v as Self::Value)
            |                  ^^^^^^^^^^^^^^^^
        ...
        465 | / impl_deserialize_num! {
        466 | |     f64, deserialize_f64
        467 | |     num_self!(f64:visit_f64);
        468 | |     num_as_copysign_self!(f32:visit_f32);
        469 | |     num_as_self!(i8:visit_i8 i16:visit_i16 i32:visit_i32 i64:visit_i64);
        470 | |     num_as_self!(u8:visit_u8 u16:visit_u16 u32:visit_u32 u64:visit_u64);
        471 | | }
            | |_- in this macro invocation
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_precision_loss
            = note: this warning originates in the macro `num_as_self` which comes from the expansion of the macro `impl_deserialize_num` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Apr 20, 2024
    Configuration menu
    Copy the full SHA
    f6623a3 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Configuration menu
    Copy the full SHA
    8fe7539 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2024

  1. Merge pull request #2732 from aatifsyed/master

    fix: ambiguous associated item in forward_to_deserialize_any!
    dtolnay authored Apr 27, 2024
    Configuration menu
    Copy the full SHA
    789740b View commit details
    Browse the repository at this point in the history
  2. Release 1.0.199

    dtolnay committed Apr 27, 2024
    Configuration menu
    Copy the full SHA
    1477028 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Only format Unexpected::Float with decimal point if it is finite

    bef110b changed the display for unexpected floats to always append a
    ".0" if there was no decimal point found in the formatting of the float.
    
    However, this should only be relevant for finite (i.e., not NaN or inf)
    values.  The change introduced a test failure in the ordered-float
    crate due to this:
    
         ---- impl_serde::test_fail_on_nan stdout ----
         thread 'impl_serde::test_fail_on_nan' panicked at 'assertion failed: `(left == right)`
           left: `Error { msg: "invalid value: floating point `NaN.0`, expected float (but not NaN)" }`,
          right: `"invalid value: floating point `NaN`, expected float (but not NaN)"`', src/lib.rs:1554:9
         stack backtrace:
            0: rust_begin_unwind
                      at /usr/src/rustc-1.70.0/library/std/src/panicking.rs:578:5
            1: core::panicking::panic_fmt
                      at /usr/src/rustc-1.70.0/library/core/src/panicking.rs:67:14
            2: core::panicking::assert_failed_inner
            3: core::panicking::assert_failed
                      at /usr/src/rustc-1.70.0/library/core/src/panicking.rs:228:5
            4: serde_test::assert::assert_de_tokens_error
                      at /usr/share/cargo/registry/serde_test-1.0.171/src/assert.rs:228:19
            5: ordered_float::impl_serde::test_fail_on_nan
                      at ./src/lib.rs:1554:9
            6: ordered_float::impl_serde::test_fail_on_nan::{{closure}}
                      at ./src/lib.rs:1553:27
            7: core::ops::function::FnOnce::call_once
                      at /usr/src/rustc-1.70.0/library/core/src/ops/function.rs:250:5
            8: core::ops::function::FnOnce::call_once
                      at /usr/src/rustc-1.70.0/library/core/src/ops/function.rs:250:5
         note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    jamessan committed May 1, 2024
    Configuration menu
    Copy the full SHA
    6ca499b View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2733 from jamessan/nan-decimal

    Only format Unexpected::Float with decimal point if it is finite
    dtolnay authored May 1, 2024
    Configuration menu
    Copy the full SHA
    2d973c1 View commit details
    Browse the repository at this point in the history
  3. Release 1.0.200

    dtolnay committed May 1, 2024
    Configuration menu
    Copy the full SHA
    cc865ac View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Configuration menu
    Copy the full SHA
    20306f4 View commit details
    Browse the repository at this point in the history
  2. Resolve unexpected_cfgs warning

        warning: unexpected `cfg` condition name: `serde_build_from_git`
          --> serde_derive_internals/lib.rs:45:12
           |
        45 | #[cfg_attr(serde_build_from_git, path = "../serde_derive/src/internals/mod.rs")]
           |            ^^^^^^^^^^^^^^^^^^^^
           |
           = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
           = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(serde_build_from_git)");` to the top of the `build.rs`
           = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
           = note: `#[warn(unexpected_cfgs)]` on by default
    
        warning: unexpected `cfg` condition name: `serde_build_from_git`
          --> serde_derive_internals/lib.rs:46:16
           |
        46 | #[cfg_attr(not(serde_build_from_git), path = "src/mod.rs")]
           |                ^^^^^^^^^^^^^^^^^^^^
           |
           = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(serde_build_from_git)");` to the top of the `build.rs`
           = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition value: `deserialize_in_place`
           --> serde_derive_internals/src/attr.rs:276:11
            |
        276 |     #[cfg(feature = "deserialize_in_place")]
            |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
            |
            = note: no expected values for `feature`
            = help: consider adding `deserialize_in_place` as a feature in `Cargo.toml`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
            --> serde_derive_internals/src/attr.rs:1797:31
             |
        1797 |         #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
             |                               ^^^^^^^^^^
             |
             = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
             = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive_internals/src/receiver.rs:110:35
            |
        110 |             #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                   ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive_internals/src/receiver.rs:181:47
            |
        181 |                         #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                               ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive_internals/src/receiver.rs:210:35
            |
        210 |             #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                   ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive_internals/src/receiver.rs:231:43
            |
        231 |                     #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                           ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
          --> serde_derive/src/lib.rs:62:23
           |
        62 | #![cfg_attr(all(test, exhaustive), feature(non_exhaustive_omitted_patterns_lint))]
           |                       ^^^^^^^^^^
           |
           = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
           = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
           = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
           = note: `#[warn(unexpected_cfgs)]` on by default
    
        warning: unexpected `cfg` condition name: `exhaustive`
            --> serde_derive/src/internals/attr.rs:1797:31
             |
        1797 |         #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
             |                               ^^^^^^^^^^
             |
             = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
             = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/internals/receiver.rs:110:35
            |
        110 |             #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                   ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/internals/receiver.rs:181:47
            |
        181 |                         #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                               ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/internals/receiver.rs:210:35
            |
        210 |             #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                   ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/internals/receiver.rs:231:43
            |
        231 |                     #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                           ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/bound.rs:147:39
            |
        147 |                 #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                       ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/bound.rs:199:51
            |
        199 | ...                   #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                             ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `exhaustive`
           --> serde_derive/src/bound.rs:228:39
            |
        228 |                 #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                       ^^^^^^^^^^
            |
            = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(exhaustive)");` to the top of the `build.rs`
            = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
    
        warning: unexpected `cfg` condition name: `systemtime_checked_add`
            --> test_suite/tests/test_de_error.rs:1527:7
             |
        1527 | #[cfg(systemtime_checked_add)]
             |       ^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
             = help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(systemtime_checked_add)");` to the top of the `build.rs`
             = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
             = note: `#[warn(unexpected_cfgs)]` on by default
    dtolnay committed May 7, 2024
    Configuration menu
    Copy the full SHA
    220ca0c View commit details
    Browse the repository at this point in the history

Commits on May 8, 2024

  1. Merge pull request #2737 from dtolnay/checkcfg

    Resolve unexpected_cfgs warning
    dtolnay authored May 8, 2024
    Configuration menu
    Copy the full SHA
    029ab46 View commit details
    Browse the repository at this point in the history
  2. Release 1.0.201

    dtolnay committed May 8, 2024
    Configuration menu
    Copy the full SHA
    b4f1bc1 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Configuration menu
    Copy the full SHA
    3202a68 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. Replace use of a syn From impl

    The From impls may be going away in the next version of syn.
    dtolnay committed May 15, 2024
    Configuration menu
    Copy the full SHA
    48cc2a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f6ab0bc View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2743 from dtolnay/renameallrules

    Provide public access to RenameAllRules in serde_derive_internals
    dtolnay authored May 15, 2024
    Configuration menu
    Copy the full SHA
    d4b2dfb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    87f635e View commit details
    Browse the repository at this point in the history
  5. Release 1.0.202

    dtolnay committed May 15, 2024
    Configuration menu
    Copy the full SHA
    9e32a40 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2024

  1. Configuration menu
    Copy the full SHA
    a8f1484 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2745 from dtolnay/docsrs

    Rely on docs.rs to define --cfg=docsrs by default
    dtolnay authored May 19, 2024
    Configuration menu
    Copy the full SHA
    3761854 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2024

  1. Configuration menu
    Copy the full SHA
    5d3c563 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7b97dd View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2747 from dtolnay/variadic

    Document tuple impls as fake variadic
    dtolnay authored May 25, 2024
    Configuration menu
    Copy the full SHA
    45ae217 View commit details
    Browse the repository at this point in the history
  4. Release 1.0.203

    dtolnay committed May 25, 2024
    Configuration menu
    Copy the full SHA
    d5bc546 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Configuration menu
    Copy the full SHA
    7aafa26 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Configuration menu
    Copy the full SHA
    fee0b82 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2754 from bm-w/master

    Fix missing close paren in crates-io.md
    dtolnay authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    d577c4a View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Nightly no longer requires error_in_core feature

        warning: the feature `error_in_core` has been stable since 1.81.0-nightly and no longer requires an attribute to enable
           --> serde/src/lib.rs:108:43
            |
        108 | #![cfg_attr(feature = "unstable", feature(error_in_core, never_type))]
            |                                           ^^^^^^^^^^^^^
            |
            = note: `#[warn(stable_features)]` on by default
    dtolnay committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    9e6158e View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Suppress dead code warning in test of unit struct remote derive

        error: struct `RemoteSelf` is never constructed
           --> test_suite/tests/test_gen.rs:425:12
            |
        425 |     struct RemoteSelf;
            |            ^^^^^^^^^^
            |
        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)]`
    dtolnay committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    f3dfd2a View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Use the #[diagnostic::on_unimplemented] attribute when possible

    This change enables the `#[diagnostic::on_unimplemented]` attribute for
    the `Serialize` and `Deserialize` trait to point the user to the
    relevant derives and point out that they might want to check crates
    features for external types by adding the relevant hints an note.
    weiznich committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    694fe05 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. Merge pull request #2767 from weiznich/feature/diagnostic_on_unimplem…

    …ented
    
    Use the `#[diagnostic::on_unimplemented]` attribute when possible
    dtolnay authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    8e6637a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b0d7917 View commit details
    Browse the repository at this point in the history
  3. Cut test_suite from workspace members in old toolchain CI jobs

    The test suite's dependencies cannot be resolved by an old toolchain.
    
        error: failed to select a version for the requirement `toml = "^0.8"`
        candidate versions found which didn't match: 0.5.11, 0.5.10, 0.5.9, ...
        location searched: crates.io index
        required by package `trybuild v1.0.97`
            ... which satisfies dependency `trybuild = "^1.0.97"` of package `serde_test_suite v0.0.0`
    dtolnay committed Jul 6, 2024
    Configuration menu
    Copy the full SHA
    595019e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    91aa40e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1179158 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #2769 from dtolnay/onunimpl

    Add ui test of unsatisfied serde trait bound
    dtolnay authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    8cc4809 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    58c307f View commit details
    Browse the repository at this point in the history
  8. Release 1.0.204

    dtolnay committed Jul 6, 2024
    Configuration menu
    Copy the full SHA
    18dcae0 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. Work around test suite dead code warnings in nightly-2024-07-07

        warning: struct `Cows` is never constructed
           --> test_suite/tests/test_borrow.rs:165:12
            |
        165 |     struct Cows<'a, 'b> {
            |            ^^^^
    
        warning: struct `Wrap` is never constructed
           --> test_suite/tests/test_borrow.rs:181:12
            |
        181 |     struct Wrap<'a, 'b> {
            |            ^^^^
    
        warning: struct `StructSkipDefaultGeneric` is never constructed
          --> test_suite/tests/test_de.rs:96:8
           |
        96 | struct StructSkipDefaultGeneric<T> {
           |        ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `NonAsciiIdents` is never constructed
           --> test_suite/tests/test_gen.rs:290:12
            |
        290 |     struct NonAsciiIdents {
            |            ^^^^^^^^^^^^^^
            |
        note: the lint level is defined here
           --> test_suite/tests/test_gen.rs:5:9
            |
        5   | #![deny(warnings)]
            |         ^^^^^^^^
            = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
    
        warning: struct `EmptyBraced` is never constructed
           --> test_suite/tests/test_gen.rs:295:12
            |
        295 |     struct EmptyBraced {}
            |            ^^^^^^^^^^^
    
        warning: struct `EmptyBracedDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:299:12
            |
        299 |     struct EmptyBracedDenyUnknown {}
            |            ^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `BracedSkipAll` is never constructed
           --> test_suite/tests/test_gen.rs:302:12
            |
        302 |     struct BracedSkipAll {
            |            ^^^^^^^^^^^^^
    
        warning: struct `BracedSkipAllDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:309:12
            |
        309 |     struct BracedSkipAllDenyUnknown {
            |            ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `EmptyTuple` is never constructed
           --> test_suite/tests/test_gen.rs:315:12
            |
        315 |     struct EmptyTuple();
            |            ^^^^^^^^^^
    
        warning: struct `EmptyTupleDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:319:12
            |
        319 |     struct EmptyTupleDenyUnknown();
            |            ^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `TupleSkipAll` is never constructed
           --> test_suite/tests/test_gen.rs:322:12
            |
        322 |     struct TupleSkipAll(#[serde(skip_deserializing)] u8);
            |            ^^^^^^^^^^^^
    
        warning: struct `TupleSkipAllDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:326:12
            |
        326 |     struct TupleSkipAllDenyUnknown(#[serde(skip_deserializing)] u8);
            |            ^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: enum `EmptyEnum` is never used
           --> test_suite/tests/test_gen.rs:329:10
            |
        329 |     enum EmptyEnum {}
            |          ^^^^^^^^^
    
        warning: enum `EmptyEnumDenyUnknown` is never used
           --> test_suite/tests/test_gen.rs:333:10
            |
        333 |     enum EmptyEnumDenyUnknown {}
            |          ^^^^^^^^^^^^^^^^^^^^
    
        warning: enum `EnumSkipAll` is never used
           --> test_suite/tests/test_gen.rs:336:10
            |
        336 |     enum EnumSkipAll {
            |          ^^^^^^^^^^^
    
        warning: enum `EmptyVariants` is never used
           --> test_suite/tests/test_gen.rs:343:10
            |
        343 |     enum EmptyVariants {
            |          ^^^^^^^^^^^^^
    
        warning: enum `EmptyVariantsDenyUnknown` is never used
           --> test_suite/tests/test_gen.rs:355:10
            |
        355 |     enum EmptyVariantsDenyUnknown {
            |          ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `UnitDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:367:12
            |
        367 |     struct UnitDenyUnknown;
            |            ^^^^^^^^^^^^^^^
    
        warning: struct `EmptyArray` is never constructed
           --> test_suite/tests/test_gen.rs:370:12
            |
        370 |     struct EmptyArray {
            |            ^^^^^^^^^^
    
        warning: enum `Or` is never used
           --> test_suite/tests/test_gen.rs:374:10
            |
        374 |     enum Or<A, B> {
            |          ^^
    
        warning: enum `OrDef` is never used
           --> test_suite/tests/test_gen.rs:381:10
            |
        381 |     enum OrDef<A, B> {
            |          ^^^^^
    
        warning: struct `Str` is never constructed
           --> test_suite/tests/test_gen.rs:386:12
            |
        386 |     struct Str<'a>(&'a str);
            |            ^^^
    
        warning: struct `StrDef` is never constructed
           --> test_suite/tests/test_gen.rs:390:12
            |
        390 |     struct StrDef<'a>(&'a str);
            |            ^^^^^^
    
        warning: struct `Remote` is never constructed
           --> test_suite/tests/test_gen.rs:393:12
            |
        393 |     struct Remote<'a> {
            |            ^^^^^^
    
        warning: enum `BorrowVariant` is never used
           --> test_suite/tests/test_gen.rs:401:10
            |
        401 |     enum BorrowVariant<'a> {
            |          ^^^^^^^^^^^^^
    
        warning: struct `RemoteVisibility` is never constructed
           --> test_suite/tests/test_gen.rs:418:12
            |
        418 |     struct RemoteVisibility {
            |            ^^^^^^^^^^^^^^^^
    
        warning: struct `FlattenDenyUnknown` is never constructed
           --> test_suite/tests/test_gen.rs:551:12
            |
        551 |     struct FlattenDenyUnknown<T> {
            |            ^^^^^^^^^^^^^^^^^^
    
        warning: struct `StaticStrStruct` is never constructed
           --> test_suite/tests/test_gen.rs:557:12
            |
        557 |     struct StaticStrStruct<'a> {
            |            ^^^^^^^^^^^^^^^
    
        warning: struct `StaticStrTupleStruct` is never constructed
           --> test_suite/tests/test_gen.rs:563:12
            |
        563 |     struct StaticStrTupleStruct<'a>(&'a str, &'static str);
            |            ^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `StaticStrNewtypeStruct` is never constructed
           --> test_suite/tests/test_gen.rs:566:12
            |
        566 |     struct StaticStrNewtypeStruct(&'static str);
            |            ^^^^^^^^^^^^^^^^^^^^^^
    
        warning: enum `StaticStrEnum` is never used
           --> test_suite/tests/test_gen.rs:569:10
            |
        569 |     enum StaticStrEnum<'a> {
            |          ^^^^^^^^^^^^^
    
        warning: enum `AdjacentlyTaggedVoid` is never used
           --> test_suite/tests/test_gen.rs:652:10
            |
        652 |     enum AdjacentlyTaggedVoid {}
            |          ^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `ImplicitlyBorrowedOption` is never constructed
           --> test_suite/tests/test_gen.rs:665:12
            |
        665 |     struct ImplicitlyBorrowedOption<'a> {
            |            ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: enum `UntaggedNewtypeVariantWith` is never used
           --> test_suite/tests/test_gen.rs:672:10
            |
        672 |     enum UntaggedNewtypeVariantWith {
            |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `TransparentWith` is never constructed
           --> test_suite/tests/test_gen.rs:682:12
            |
        682 |     struct TransparentWith {
            |            ^^^^^^^^^^^^^^^
    
        warning: struct `FlattenSkipSerializing` is never constructed
           --> test_suite/tests/test_gen.rs:712:12
            |
        712 |     struct FlattenSkipSerializing<T> {
            |            ^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `FlattenSkipSerializingIf` is never constructed
           --> test_suite/tests/test_gen.rs:719:12
            |
        719 |     struct FlattenSkipSerializingIf<T> {
            |            ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `FlattenSkipDeserializing` is never constructed
           --> test_suite/tests/test_gen.rs:725:12
            |
        725 |     struct FlattenSkipDeserializing<T> {
            |            ^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: enum `Message` is never used
           --> test_suite/tests/test_gen.rs:732:10
            |
        732 |     enum Message {
            |          ^^^^^^^
    
        warning: struct `MacroRules` is never constructed
           --> test_suite/tests/test_gen.rs:751:20
            |
        751 |             struct MacroRules<'a> {
            |                    ^^^^^^^^^^
        ...
        758 |     deriving!(&'a str);
            |     ------------------ in this macro invocation
            |
            = note: this warning originates in the macro `deriving` (in Nightly builds, run with -Z macro-backtrace for more info)
    
        warning: struct `BorrowLifetimeInsideMacro` is never constructed
           --> test_suite/tests/test_gen.rs:767:12
            |
        767 |     struct BorrowLifetimeInsideMacro<'a> {
            |            ^^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: struct `GenericUnitStruct` is never constructed
           --> test_suite/tests/test_gen.rs:782:12
            |
        782 |     struct GenericUnitStruct<const N: usize>;
            |            ^^^^^^^^^^^^^^^^^
    
        warning: enum `InternallyTagged` is never used
           --> test_suite/tests/test_gen.rs:869:6
            |
        869 | enum InternallyTagged {
            |      ^^^^^^^^^^^^^^^^
    
        warning: function `deserialize_generic` is never used
           --> test_suite/tests/test_gen.rs:880:4
            |
        880 | fn deserialize_generic<'de, T, D>(deserializer: D) -> StdResult<T, D::Error>
            |    ^^^^^^^^^^^^^^^^^^^
    
        warning: struct `Restricted` is never constructed
           --> test_suite/tests/test_gen.rs:643:20
            |
        643 |             struct Restricted {
            |                    ^^^^^^^^^^
    
        warning: struct `Test` is never constructed
          --> test_suite/tests/test_remote.rs:95:8
           |
        95 | struct Test {
           |        ^^^^
    
        warning: struct `UnitDef` is never constructed
           --> test_suite/tests/test_remote.rs:135:8
            |
        135 | struct UnitDef;
            |        ^^^^^^^
    
        warning: struct `PrimitivePubDef` is never constructed
           --> test_suite/tests/test_remote.rs:143:8
            |
        143 | struct PrimitivePubDef(u8);
            |        ^^^^^^^^^^^^^^^
    
        warning: struct `NewtypePubDef` is never constructed
           --> test_suite/tests/test_remote.rs:151:8
            |
        151 | struct NewtypePubDef(#[serde(with = "UnitDef")] remote::Unit);
            |        ^^^^^^^^^^^^^
    
        warning: struct `TuplePubDef` is never constructed
           --> test_suite/tests/test_remote.rs:162:8
            |
        162 | struct TuplePubDef(u8, #[serde(with = "UnitDef")] remote::Unit);
            |        ^^^^^^^^^^^
    
        warning: struct `StructPubDef` is never constructed
           --> test_suite/tests/test_remote.rs:177:8
            |
        177 | struct StructPubDef {
            |        ^^^^^^^^^^^^
    
        warning: struct `StructConcrete` is never constructed
           --> test_suite/tests/test_remote.rs:193:8
            |
        193 | struct StructConcrete {
            |        ^^^^^^^^^^^^^^
    
        warning: enum `EnumConcrete` is never used
           --> test_suite/tests/test_remote.rs:199:6
            |
        199 | enum EnumConcrete {
            |      ^^^^^^^^^^^^
    
        warning: enum `ErrorKind` is never used
           --> test_suite/tests/test_remote.rs:204:6
            |
        204 | enum ErrorKind {
            |      ^^^^^^^^^
    
        warning: enum `ErrorKindDef` is never used
           --> test_suite/tests/test_remote.rs:214:6
            |
        214 | enum ErrorKindDef {
            |      ^^^^^^^^^^^^
    
        warning: struct `PrimitivePub` is never constructed
          --> test_suite/tests/test_remote.rs:10:16
           |
        10 |     pub struct PrimitivePub(pub u8);
           |                ^^^^^^^^^^^^
    
        warning: struct `NewtypePub` is never constructed
          --> test_suite/tests/test_remote.rs:14:16
           |
        14 |     pub struct NewtypePub(pub Unit);
           |                ^^^^^^^^^^
    
        warning: struct `TuplePub` is never constructed
          --> test_suite/tests/test_remote.rs:18:16
           |
        18 |     pub struct TuplePub(pub u8, pub Unit);
           |                ^^^^^^^^
    
        warning: struct `StructPub` is never constructed
          --> test_suite/tests/test_remote.rs:25:16
           |
        25 |     pub struct StructPub {
           |                ^^^^^^^^^
    
        warning: enum `EnumGeneric` is never used
          --> test_suite/tests/test_remote.rs:89:14
           |
        89 |     pub enum EnumGeneric<T> {
           |              ^^^^^^^^^^^
    
        warning: struct `Tuple` is never constructed
          --> test_suite/tests/test_self.rs:44:12
           |
        44 |     struct Tuple(
           |            ^^^^^
    
        warning: associated items `ASSOC` and `assoc` are never used
          --> test_suite/tests/test_self.rs:52:15
           |
        51 |     impl Tuple {
           |     ---------- associated items in this implementation
        52 |         const ASSOC: usize = 1;
           |               ^^^^^
        53 |         const fn assoc() -> usize {
           |                  ^^^^^
    
        warning: enum `Enum` is never used
          --> test_suite/tests/test_self.rs:63:10
           |
        63 |     enum Enum {
           |          ^^^^
    
        warning: associated items `ASSOC` and `assoc` are never used
          --> test_suite/tests/test_self.rs:79:15
           |
        78 |     impl Enum {
           |     --------- associated items in this implementation
        79 |         const ASSOC: usize = 1;
           |               ^^^^^
        80 |         const fn assoc() -> usize {
           |                  ^^^^^
    
        warning: struct `Unit` is never constructed
          --> test_suite/no_std/src/main.rs:26:8
           |
        26 | struct Unit;
           |        ^^^^
    
        warning: struct `Newtype` is never constructed
          --> test_suite/no_std/src/main.rs:29:8
           |
        29 | struct Newtype(u8);
           |        ^^^^^^^
    
        warning: struct `Tuple` is never constructed
          --> test_suite/no_std/src/main.rs:32:8
           |
        32 | struct Tuple(u8, u8);
           |        ^^^^^
    
        warning: struct `Struct` is never constructed
          --> test_suite/no_std/src/main.rs:35:8
           |
        35 | struct Struct {
           |        ^^^^^^
    
        warning: enum `Enum` is never used
          --> test_suite/no_std/src/main.rs:40:6
           |
        40 | enum Enum {
           |      ^^^^
    dtolnay committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    28a0922 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Configuration menu
    Copy the full SHA
    21c7fd1 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2024

  1. Use serialize_entry instead of serialize_key + serialize_value when s…

    …erialize flatten newtype enum variant
    
    Serializers that reimplements serialize_entry will get benefits from that
    Mingun committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    bc5af50 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Add tests that ensures that error reported for a path for with and …

    …`default` attributes
    Mingun committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    291ec50 View commit details
    Browse the repository at this point in the history
  2. Produce error about mismatched types of #[serde(with = "...")] and #[…

    …serde(default = "...")] attributes on the attribute itself
    Mingun committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    74b538b View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Merge pull request #2785 from Mingun/serialize_entry-in-flatten-newty…

    …pe-variant
    
    Use serialize_entry instead of serialize_key + serialize_value when serialize flatten newtype enum variant
    dtolnay authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    e08c5de View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Enable collection_is_never_read nursury lint in test

        error: collection is never read
           --> test_suite/tests/test_gen.rs:722:25
            |
        722 |     #[derive(Serialize, Deserialize)]
            |                         ^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
        note: the lint level is defined here
           --> test_suite/tests/test_gen.rs:22:9
            |
        22  | #![deny(clippy::collection_is_never_read)]
            |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    8764353 View commit details
    Browse the repository at this point in the history
  2. Add test of flatten in enum

        error: collection is never read
           --> test_suite/tests/test_gen.rs:728:25
            |
        728 |     #[derive(Serialize, Deserialize)]
            |                         ^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
            = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    c3df337 View commit details
    Browse the repository at this point in the history
  3. Ignore confusable_idents warning in test

        error: found both `σ` and `o` as identifiers, which look alike
           --> test_suite/tests/test_gen.rs:734:13
            |
        292 |         σ: f64,
            |         - other identifier used here
        ...
        734 |             o: T,
            |             ^ this identifier can be confused with `σ`
            |
        note: the lint level is defined here
           --> test_suite/tests/test_gen.rs:5:9
            |
        5   | #![deny(warnings)]
            |         ^^^^^^^^
            = note: `#[deny(confusable_idents)]` implied by `#[deny(warnings)]`
    dtolnay committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d64a97b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    32958de View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2791 from dtolnay/flatten

    Skip collecting unmatched fields in variants that do not use flatten
    dtolnay authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    c3eaf76 View commit details
    Browse the repository at this point in the history
  6. Release 1.0.205

    dtolnay committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    9b868ef View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Add regression test for issue #2565

    failures (1):
        regression::issue2565::simple_variant
    Mingun committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    24614e4 View commit details
    Browse the repository at this point in the history
  2. Add regression test for issue #1904

    Currently panics in derive:
    
    error: proc-macro derive panicked
        --> test_suite\tests\test_annotations.rs:2386:25
         |
    2386 |     #[derive(Serialize, Deserialize, PartialEq, Debug)]
         |                         ^^^^^^^^^^^
         |
         = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
      --> test_suite\tests\regression\issue1904.rs:57:10
       |
    57 | #[derive(Deserialize)]
       |          ^^^^^^^^^^^
       |
       = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
      --> test_suite\tests\regression\issue1904.rs:47:10
       |
    47 | #[derive(Deserialize)]
       |          ^^^^^^^^^^^
       |
       = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
      --> test_suite\tests\regression\issue1904.rs:37:10
       |
    37 | #[derive(Deserialize)]
       |          ^^^^^^^^^^^
       |
       = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
      --> test_suite\tests\regression\issue1904.rs:27:10
       |
    27 | #[derive(Deserialize)]
       |          ^^^^^^^^^^^
       |
       = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
      --> test_suite\tests\regression\issue1904.rs:16:10
       |
    16 | #[derive(Deserialize)]
       |          ^^^^^^^^^^^
       |
       = help: message: assertion failed: !cattrs.has_flatten()
    
    error: proc-macro derive panicked
     --> test_suite\tests\regression\issue1904.rs:7:10
      |
    7 | #[derive(Deserialize)]
      |          ^^^^^^^^^^^
      |
      = help: message: assertion failed: !cattrs.has_flatten()
    Mingun committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    c3ac7b6 View commit details
    Browse the repository at this point in the history
  3. Correctly process flatten fields in enum variants

    - Fix incorrect deserialization of variants that doesn't contain flatten field when other contains
    - Fix a panic when deriving `Deserialize` for an enum with tuple and struct with flatten field
    
    Fixes (2):
        regression::issue2565::simple_variant
        regression::issue1904 (compilation)
    Mingun committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    b4ec259 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2024

  1. Configuration menu
    Copy the full SHA
    2afe5b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2024

  1. Merge pull request #2567 from Mingun/fix-2565

    Correctly process flatten fields in enum variants
    dtolnay authored Aug 11, 2024
    Configuration menu
    Copy the full SHA
    fc55ac7 View commit details
    Browse the repository at this point in the history
  2. Temporarily ignore collection_is_never_read on FlattenSkipDeserializing

        error: collection is never read
           --> test_suite/tests/test_gen.rs:723:25
            |
        723 |     #[derive(Serialize, Deserialize)]
            |                         ^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collection_is_never_read
        note: the lint level is defined here
           --> test_suite/tests/test_gen.rs:23:9
            |
        23  | #![deny(clippy::collection_is_never_read)]
            |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    536221b View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2794 from dtolnay/neverread

    Temporarily ignore collection_is_never_read on FlattenSkipDeserializing
    dtolnay authored Aug 11, 2024
    Configuration menu
    Copy the full SHA
    84c7419 View commit details
    Browse the repository at this point in the history
  4. Touch up PR 2567

    dtolnay committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    e52b7b3 View commit details
    Browse the repository at this point in the history
  5. Resolve doc_markdown pedantic lint on regression test function

        warning: you should put bare URLs between `<`/`>` or make a proper Markdown link
            --> test_suite/tests/test_annotations.rs:2383:25
             |
        2383 | /// Regression test for #1904
             |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `<https://github.com/serde-rs/serde/issues/1904>`
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
             = note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
             = help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
    dtolnay committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    5ba1796 View commit details
    Browse the repository at this point in the history
  6. Release 1.0.206

    dtolnay committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    85c73ef View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0647a7c View commit details
    Browse the repository at this point in the history
  8. Correctly calculate has_flatten attribute in all cases for deserial…

    …ization
    
    Consequence: `FlattenSkipDeserializing[DenyUnknown]`
    - does not collect data in Field, because do not read them anyway
    - gets `deserialize_in_place` method
    - gets ability to deserialize from sequence (visit_seq method)
    - uses `deserialize_struct` instead of `deserialize_map`
    Mingun committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    fd5b5e9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    005cb84 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    547d843 View commit details
    Browse the repository at this point in the history
  11. Take into account only not skipped flatten fields when choose seriali…

    …zation form
    
    Consequence: `FlattenSkipSerializing`
    - uses `serialize_struct` instead of `serialize_map`
    Mingun committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    77a6a9d View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Configuration menu
    Copy the full SHA
    9c95426 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b769fc View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2795 from Mingun/has-flatten-rework

    `has_flatten` rework
    dtolnay authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f986609 View commit details
    Browse the repository at this point in the history
  4. Touch up PR 2795

    dtolnay committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f61d452 View commit details
    Browse the repository at this point in the history
  5. Release 1.0.207

    dtolnay committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    1b4da41 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. Configuration menu
    Copy the full SHA
    4036ff8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2802 from jonhoo/flatten-unit-struct

    Support (de-)serializing flattened unit struct
    dtolnay authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    bfbedac View commit details
    Browse the repository at this point in the history
  3. Release 1.0.208

    dtolnay committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    026e91a View commit details
    Browse the repository at this point in the history
  4. Group flatten tests

    jonhoo committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    477eb7b View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2803 from jonhoo/mv-flatten-tests

    Group flatten tests
    dtolnay authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    af376c2 View commit details
    Browse the repository at this point in the history
  6. Convert test_internally_tagged_enum into module

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    aa06543 View commit details
    Browse the repository at this point in the history
  7. Move all internally tagged enum tests of test_macros into a dedicat…

    …ed module
    
    Moved:
    - test_internally_tagged_enum_with_untagged_variant             => untagged_variant
    - test_internally_tagged_bytes                                  => string_and_bytes mod
    - test_internally_tagged_struct_variant_containing_unit_variant => struct_variant_containing_unit_variant
    - test_internally_tagged_borrow                                 => borrow
    - test_enum_in_internally_tagged_enum                           => newtype_variant_containing_externally_tagged_enum
    - test_internally_tagged_newtype_variant_containing_unit_struct => newtype_variant_containing_unit_struct
    
    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    99f9054 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    da0ed40 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8c60f5a View commit details
    Browse the repository at this point in the history
  10. Move internally tagged enum tests into a dedicated file

    Ctrl+X, Ctrl+V
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    0939214 View commit details
    Browse the repository at this point in the history
  11. Move all other internally tagged enum tests into a dedicated file

    Moved all except flattened tests:
    - test_internally_tagged_enum_with_skipped_conflict    => with_skipped_conflict
    - test_internally_tagged_enum_new_type_with_unit       => newtype_variant_containing_unit
    - test_internally_tagged_unit_enum_with_unknown_fields => unit_variant_with_unknown_fields
    - test_expecting_message_internally_tagged_enum        => expecting_message
    - flatten::enum_::internally_tagged::straightforward   => containing_flatten
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    2cbfd37 View commit details
    Browse the repository at this point in the history
  12. Use the same order of derives

    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    9128201 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    eb59c77 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f97160f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    2d75ef6 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    93bda5f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    48de0c5 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    d3492d8 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    e999600 View commit details
    Browse the repository at this point in the history
  20. Share externally tagged enum Enum between all tests and reuse in stru…

    …ct_variant_containing_unit_variant
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    28a775d View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    41b9c33 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    7c0e6bd View commit details
    Browse the repository at this point in the history
  23. Move and rename tests:

    - newtype_variant_containing_unit                   -> newtype_unit
    - newtype_variant_containing_unit_struct            -> newtype_unit_struct
    - newtype_variant_containing_externally_tagged_enum -> newtype_enum
    - struct_variant_containing_unit_variant            -> struct_enum
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    8bfe0d0 View commit details
    Browse the repository at this point in the history
  24. Convert newtype_enum and struct_enum tests into modules

    Separate testing each variant kind of enum (unit, newtype, tuple, struct) results
    in more specific information if that checks fail
    
    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    4987fd1 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    4795450 View commit details
    Browse the repository at this point in the history
  26. Add tests for special and general cases for internally tagged enums

    Special case is the tag field first (so the enum variant are known after reading the first entry from map).
    General case is the tag field not the first (so we need to buffer entries until we found an entry with tag)
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    71ed1f2 View commit details
    Browse the repository at this point in the history
  27. Add additional checks for unit and newtype_unit tests

    - check that unit variant can be deserialized from a map
    - check that newtype variant with unit can be deserialized from a struct
    Mingun committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    2adb0e9 View commit details
    Browse the repository at this point in the history
  28. Merge pull request #2788 from Mingun/internally-tagged-enum-tests

    Consolidate and add new tests of internally tagged enums
    dtolnay authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    1a9ffdb View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. Move all adjacently tagged enum tests (except flatten) into a dedicat…

    …ed module
    
    Moved and renamed:
    From test_annotatons
    - test_adjacently_tagged_enum_bytes               => bytes
    - flatten::enum_::adjacently_tagged::straitforward=> struct_with_flatten
    - test_expecting_message_adjacently_tagged_enum   => expecting_message
    - test_partially_untagged_adjacently_tagged_enum  => partially_untagged
    
    From test_macros
    - test_adjacently_tagged_newtype_struct           => newtype_with_newtype
    - test_adjacently_tagged_enum
    - test_adjacently_tagged_enum_deny_unknown_fields => deny_unknown_fields
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    5e37ade View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a359e1 View commit details
    Browse the repository at this point in the history
  3. Split test test_adjacently_tagged_enum into four tests for each variant

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    bee7470 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    59628d1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    36b9a85 View commit details
    Browse the repository at this point in the history
  6. Remove unnecessary generic

    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    9d0f811 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5445f17 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    df07751 View commit details
    Browse the repository at this point in the history
  9. Reuse AdjacentlyTagged enum in bytes test

    Change 0i32 to 1u8 so the test can be merged with the previous in the next commit
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    42e63ff View commit details
    Browse the repository at this point in the history
  10. Integrate bytes test into struct_ test

    `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
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    3dc6829 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a7f0bab View commit details
    Browse the repository at this point in the history
  12. Unit: add tests for deserialization from sequence

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    29dc6c3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a02da49 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6bfe1c4 View commit details
    Browse the repository at this point in the history
  15. No need to test integer and byte array field names, they already test…

    …ed for Unit case
    
    There is no difference what variant is deserialized so we can test only one kind of variant
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    d5a9c11 View commit details
    Browse the repository at this point in the history
  16. Newtype: add tests for deserialization from sequence

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    b0d651b View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    a94d875 View commit details
    Browse the repository at this point in the history
  18. Tuple: add tests for deserialization from sequence

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    c383e4f View commit details
    Browse the repository at this point in the history
  19. Struct: add tests for deserialization from sequence

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    9f72ce6 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. Merge pull request #2804 from Mingun/adjacently-tagged-tests

    Consolidate and add new tests of adjacently tagged enums
    dtolnay authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    31ca16d View commit details
    Browse the repository at this point in the history
  2. Move all untagged enum tests (except flatten) into a dedicated module

    Moved and renamed:
    From test_annotations
    - test_expecting_message_untagged_tagged_enum                  => expecting_message
    - flatten::enum_::untagged::straitforward                      => contains_flatten
    
    From test_macros
    - test_untagged_newtype_struct                                 => newtype_struct
    - test_untagged_enum                                           => complex
    - test_untagged_enum_with_flattened_integer_key                => contains_flatten_with_integer_key
    - test_enum_in_untagged_enum                                   => newtype_enum
    - test_untagged_bytes                                          => string_and_bytes
    - test_untagged_newtype_variant_containing_unit_struct_not_map => newtype_unit_and_empty_map
    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    98fb7d9 View commit details
    Browse the repository at this point in the history
  3. Remove unnecessary generics

    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    8514f41 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2dddc77 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    171c6da View commit details
    Browse the repository at this point in the history
  6. Split test newtype_enum into four tests for each variant

    (review this commit with "ignore whitespace changes" option on)
    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    0093f74 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6588b0a View commit details
    Browse the repository at this point in the history
  8. Test special cases that reaches SeqRefDeserializer::deserialize_any l…

    …en==0 condition
    
    failures (2):
        newtype_enum::empty_struct_from_seq
        newtype_enum::tuple0
    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    4c5fec1 View commit details
    Browse the repository at this point in the history
  9. Fix deserialization of empty struct variant in untagged enums

    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
    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    da7fc79 View commit details
    Browse the repository at this point in the history
  10. Replace MapRefDeserializer with value::MapDeserializer

    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
    Mingun committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    7bde100 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2024

  1. Merge pull request #2805 from Mingun/untagged-tests

    Fix deserialization of empty structs and tuples in untagged enums
    dtolnay authored Aug 24, 2024
    Configuration menu
    Copy the full SHA
    9eaf7b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    87a2fb0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b84e6ca View commit details
    Browse the repository at this point in the history
  4. Release 1.0.209

    dtolnay committed Aug 24, 2024
    Configuration menu
    Copy the full SHA
    30752ac View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2024

  1. Configuration menu
    Copy the full SHA
    3aca38d View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Implement serialize/deserialize for core::net instead of std::net if …

    …running rust version newer than 1.77, where core::net was stabilized
    MathiasKoch committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    f2899a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d940fe1 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Merge pull request #2816 from MathiasKoch/chore/core-net

    Implement serialize/deserialize for core::net instead of std::net
    dtolnay authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    b4f860e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b1f899f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2817 from dtolnay/corenet

    Delete doc(cfg) attribute from impls that are supported in no-std
    dtolnay authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    07e614b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    26fb134 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4c0dd63 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d549f04 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    785c2d9 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #2818 from dtolnay/coreerror

    Stabilize no-std Error trait
    dtolnay authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    eeb8e44 View commit details
    Browse the repository at this point in the history
  9. Release 1.0.210

    dtolnay committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    89c4b02 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1d7b009 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #2821 from dtolnay/clos

    Eliminate closures capturing needlessly many type parameters
    dtolnay authored Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c82f258 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2024

  1. Configuration menu
    Copy the full SHA
    aba4e18 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2822 from dtolnay/mapcontentdeserializer

    Remove explicit ContentDeserializer construction in visit functions
    dtolnay authored Sep 7, 2024
    Configuration menu
    Copy the full SHA
    4487cb2 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Add a funding file

    dtolnay committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    31000e1 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Resolve some needless_lifetimes clippy lints

        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 {
           |
    dtolnay committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    8e1ae68 View commit details
    Browse the repository at this point in the history
  2. Ignore needless_lifetimes clippy lint

        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:124:6
            |
        124 | impl<'de, E> IntoDeserializer<'de, E> for ()
            |      ^^^                      ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
            = note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
            = help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
        help: elide the lifetimes
            |
        124 - impl<'de, E> IntoDeserializer<'de, E> for ()
        124 + impl<E> IntoDeserializer<'_, E> for ()
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:196:6
            |
        196 | impl<'de, E> IntoDeserializer<'de, E> for !
            |      ^^^                      ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        196 - impl<'de, E> IntoDeserializer<'de, E> for !
        196 + impl<E> IntoDeserializer<'_, E> for !
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:317:6
            |
        317 | impl<'de, E> IntoDeserializer<'de, E> for u32
            |      ^^^                      ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        317 - impl<'de, E> IntoDeserializer<'de, E> for u32
        317 + impl<E> IntoDeserializer<'_, E> for u32
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:406:6
            |
        406 | impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
            |      ^^^                          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        406 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
        406 + impl<'a, E> IntoDeserializer<'_, E> for &'a str
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:427:11
            |
        427 | impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
            |           ^^                                               ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        427 - impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
        427 + impl<'de, E> de::Deserializer<'de> for StrDeserializer<'_, E>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:461:11
            |
        461 | impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
            |           ^^                                             ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        461 - impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
        461 + impl<'de, E> de::EnumAccess<'de> for StrDeserializer<'_, E>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:476:6
            |
        476 | impl<'a, E> Debug for StrDeserializer<'a, E> {
            |      ^^                               ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        476 - impl<'a, E> Debug for StrDeserializer<'a, E> {
        476 + impl<E> Debug for StrDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:555:6
            |
        555 | impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
            |      ^^^                                       ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        555 - impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
        555 + impl<E> Debug for BorrowedStrDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:586:6
            |
        586 | impl<'de, E> IntoDeserializer<'de, E> for String
            |      ^^^                      ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        586 - impl<'de, E> IntoDeserializer<'de, E> for String
        586 + impl<E> IntoDeserializer<'_, E> for String
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:680:6
            |
        680 | impl<'a, E> Clone for CowStrDeserializer<'a, E> {
            |      ^^                                  ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        680 - impl<'a, E> Clone for CowStrDeserializer<'a, E> {
        680 + impl<E> Clone for CowStrDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:691:6
            |
        691 | impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
            |      ^^^                          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        691 - impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
        691 + impl<'a, E> IntoDeserializer<'_, E> for Cow<'a, str>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:714:11
            |
        714 | impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
            |           ^^                                                  ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        714 - impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
        714 + impl<'de, E> de::Deserializer<'de> for CowStrDeserializer<'_, E>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:752:11
            |
        752 | impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
            |           ^^                                                ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        752 - impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
        752 + impl<'de, E> de::EnumAccess<'de> for CowStrDeserializer<'_, E>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:768:6
            |
        768 | impl<'a, E> Debug for CowStrDeserializer<'a, E> {
            |      ^^                                  ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        768 - impl<'a, E> Debug for CowStrDeserializer<'a, E> {
        768 + impl<E> Debug for CowStrDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:797:6
            |
        797 | impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
            |      ^^^                          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        797 - impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
        797 + impl<'a, E> IntoDeserializer<'_, E> for &'a [u8]
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:808:11
            |
        808 | impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
            |           ^^                                             ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        808 - impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
        808 + impl<'de, E> Deserializer<'de> for BytesDeserializer<'_, E>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/value.rs:828:6
            |
        828 | impl<'a, E> Debug for BytesDeserializer<'a, E> {
            |      ^^                                 ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        828 - impl<'a, E> Debug for BytesDeserializer<'a, E> {
        828 + impl<E> Debug for BytesDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/value.rs:876:6
            |
        876 | impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
            |      ^^^                                         ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        876 - impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
        876 + impl<E> Debug for BorrowedBytesDeserializer<'_, E> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/value.rs:1101:6
             |
        1101 | impl<'de, I, E> MapDeserializer<'de, I, E>
             |      ^^^                        ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1101 - impl<'de, I, E> MapDeserializer<'de, I, E>
        1101 + impl<I, E> MapDeserializer<'_, I, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/value.rs:1118:6
             |
        1118 | impl<'de, I, E> MapDeserializer<'de, I, E>
             |      ^^^                        ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1118 - impl<'de, I, E> MapDeserializer<'de, I, E>
        1118 + impl<I, E> MapDeserializer<'_, I, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/value.rs:1141:6
             |
        1141 | impl<'de, I, E> MapDeserializer<'de, I, E>
             |      ^^^                        ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1141 - impl<'de, I, E> MapDeserializer<'de, I, E>
        1141 + impl<I, E> MapDeserializer<'_, I, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/value.rs:1287:6
             |
        1287 | impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
             |      ^^^                                  ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1287 - impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
        1287 + impl<I, E> Clone for MapDeserializer<'_, I, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/value.rs:1304:6
             |
        1304 | impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
             |      ^^^                                  ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1304 - impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
        1304 + impl<I, E> Debug for MapDeserializer<'_, I, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
          --> serde/src/de/impls.rs:17:6
           |
        17 | impl<'de> Visitor<'de> for UnitVisitor {
           |      ^^^          ^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
           |
        17 - impl<'de> Visitor<'de> for UnitVisitor {
        17 + impl Visitor<'_> for UnitVisitor {
           |
    
        warning: the following explicit lifetimes could be elided: 'de
          --> serde/src/de/impls.rs:56:6
           |
        56 | impl<'de> Visitor<'de> for BoolVisitor {
           |      ^^^          ^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
           |
        56 - impl<'de> Visitor<'de> for BoolVisitor {
        56 + impl Visitor<'_> for BoolVisitor {
           |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/impls.rs:550:6
            |
        550 | impl<'de> Visitor<'de> for CharVisitor {
            |      ^^^          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        550 - impl<'de> Visitor<'de> for CharVisitor {
        550 + impl Visitor<'_> for CharVisitor {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/impls.rs:596:6
            |
        596 | impl<'de> Visitor<'de> for StringVisitor {
            |      ^^^          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        596 - impl<'de> Visitor<'de> for StringVisitor {
        596 + impl Visitor<'_> for StringVisitor {
            |
    
        warning: the following explicit lifetimes could be elided: 'de, 'a
           --> serde/src/de/impls.rs:642:6
            |
        642 | impl<'a, 'de> Visitor<'de> for StringInPlaceVisitor<'a> {
            |      ^^  ^^^          ^^^                           ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        642 - impl<'a, 'de> Visitor<'de> for StringInPlaceVisitor<'a> {
        642 + impl Visitor<'_> for StringInPlaceVisitor<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/de/impls.rs:953:6
            |
        953 | impl<'de, T> Visitor<'de> for PhantomDataVisitor<T>
            |      ^^^             ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        953 - impl<'de, T> Visitor<'de> for PhantomDataVisitor<T>
        953 + impl<T> Visitor<'_> for PhantomDataVisitor<T>
            |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/de/impls.rs:1195:14
             |
        1195 |         impl<'a, 'de, T> Visitor<'de> for VecInPlaceVisitor<'a, T>
             |              ^^                                             ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1195 -         impl<'a, 'de, T> Visitor<'de> for VecInPlaceVisitor<'a, T>
        1195 +         impl<'de, T> Visitor<'de> for VecInPlaceVisitor<'_, T>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:1838:6
             |
        1838 | impl<'de> Visitor<'de> for PathBufVisitor {
             |      ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1838 - impl<'de> Visitor<'de> for PathBufVisitor {
        1838 + impl Visitor<'_> for PathBufVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/de/impls.rs:1991:11
             |
        1991 | impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>
             |           ^^                              ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1991 - impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T>
        1991 + impl<'de, T> Deserialize<'de> for Cow<'_, T>
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2161:22
             |
        2161 |                 impl<'de> Visitor<'de> for FieldVisitor {
             |                      ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2161 -                 impl<'de> Visitor<'de> for FieldVisitor {
        2161 +                 impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2300:22
             |
        2300 |                 impl<'de> Visitor<'de> for FieldVisitor {
             |                      ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2300 -                 impl<'de> Visitor<'de> for FieldVisitor {
        2300 +                 impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2501:18
             |
        2501 |             impl<'de> Visitor<'de> for FieldVisitor {
             |                  ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2501 -             impl<'de> Visitor<'de> for FieldVisitor {
        2501 +             impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2658:18
             |
        2658 |             impl<'de> Visitor<'de> for FieldVisitor {
             |                  ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2658 -             impl<'de> Visitor<'de> for FieldVisitor {
        2658 +             impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2796:18
             |
        2796 |             impl<'de> Visitor<'de> for FieldVisitor {
             |                  ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2796 -             impl<'de> Visitor<'de> for FieldVisitor {
        2796 +             impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:2907:22
             |
        2907 |                 impl<'de> Visitor<'de> for FieldVisitor {
             |                      ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2907 -                 impl<'de> Visitor<'de> for FieldVisitor {
        2907 +                 impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:3018:22
             |
        3018 |                 impl<'de> Visitor<'de> for FieldVisitor {
             |                      ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        3018 -                 impl<'de> Visitor<'de> for FieldVisitor {
        3018 +                 impl Visitor<'_> for FieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/de/impls.rs:3166:6
             |
        3166 | impl<'de, T> Visitor<'de> for FromStrVisitor<T>
             |      ^^^             ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        3166 - impl<'de, T> Visitor<'de> for FromStrVisitor<T>
        3166 + impl<T> Visitor<'_> for FromStrVisitor<T>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde/src/de/mod.rs:397:6
            |
        397 | impl<'a> fmt::Display for Unexpected<'a> {
            |      ^^                              ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        397 - impl<'a> fmt::Display for Unexpected<'a> {
        397 + impl fmt::Display for Unexpected<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'f, 'a
            --> serde/src/de/mod.rs:2309:14
             |
        2309 |         impl<'f, 'a> fmt::Write for LookForDecimalPoint<'f, 'a> {
             |              ^^  ^^                                     ^^  ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2309 -         impl<'f, 'a> fmt::Write for LookForDecimalPoint<'f, 'a> {
        2309 +         impl fmt::Write for LookForDecimalPoint<'_, '_> {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
          --> serde/src/ser/fmt.rs:38:6
           |
        38 | impl<'a> Serializer for &mut fmt::Formatter<'a> {
           |      ^^                                     ^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
           |
        38 - impl<'a> Serializer for &mut fmt::Formatter<'a> {
        38 + impl Serializer for &mut fmt::Formatter<'_> {
           |
    
        warning: the following explicit lifetimes could be elided: 'a
          --> serde/src/ser/impls.rs:62:6
           |
        62 | impl<'a> Serialize for fmt::Arguments<'a> {
           |      ^^                               ^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
           |
        62 - impl<'a> Serialize for fmt::Arguments<'a> {
        62 + impl Serialize for fmt::Arguments<'_> {
           |
    
        warning: the following explicit lifetimes could be elided: 'a
          --> serde/src/format.rs:20:6
           |
        20 | impl<'a> Write for Buf<'a> {
           |      ^^                ^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
           |
        20 - impl<'a> Write for Buf<'a> {
        20 + impl Write for Buf<'_> {
           |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/private/de.rs:254:10
            |
        254 |     impl<'de> Content<'de> {
            |          ^^^          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        254 -     impl<'de> Content<'de> {
        254 +     impl Content<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/private/de.rs:333:10
            |
        333 |     impl<'de> ContentVisitor<'de> {
            |          ^^^                 ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        333 -     impl<'de> ContentVisitor<'de> {
        333 +     impl ContentVisitor<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/private/de.rs:553:10
            |
        553 |     impl<'de> TagOrContentVisitor<'de> {
            |          ^^^                      ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        553 -     impl<'de> TagOrContentVisitor<'de> {
        553 +     impl TagOrContentVisitor<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
           --> serde/src/private/de.rs:937:10
            |
        937 |     impl<'de> Visitor<'de> for TagOrContentFieldVisitor {
            |          ^^^          ^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
            |
        937 -     impl<'de> Visitor<'de> for TagOrContentFieldVisitor {
        937 +     impl Visitor<'_> for TagOrContentFieldVisitor {
            |
    
        warning: the following explicit lifetimes could be elided: 'de
            --> serde/src/private/de.rs:1014:10
             |
        1014 |     impl<'de> Visitor<'de> for TagContentOtherFieldVisitor {
             |          ^^^          ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1014 -     impl<'de> Visitor<'de> for TagContentOtherFieldVisitor {
        1014 +     impl Visitor<'_> for TagContentOtherFieldVisitor {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:1652:10
             |
        1652 |     impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E>
             |          ^^                                 ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1652 -     impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E>
        1652 +     impl<'de, E> ContentRefDeserializer<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:1735:15
             |
        1735 |     impl<'de, 'a, E> Deserializer<'de> for ContentRefDeserializer<'a, 'de, E>
             |               ^^                                                  ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        1735 -     impl<'de, 'a, E> Deserializer<'de> for ContentRefDeserializer<'a, 'de, E>
        1735 +     impl<'de, E> Deserializer<'de> for ContentRefDeserializer<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2162:15
             |
        2162 |     impl<'de, 'a, E> de::VariantAccess<'de> for VariantRefDeserializer<'a, 'de, E>
             |               ^^                                                       ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2162 -     impl<'de, 'a, E> de::VariantAccess<'de> for VariantRefDeserializer<'a, 'de, E>
        2162 +     impl<'de, E> de::VariantAccess<'de> for VariantRefDeserializer<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2259:15
             |
        2259 |     impl<'de, 'a, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'a, 'de, E>
             |               ^^                                                             ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2259 -     impl<'de, 'a, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'a, 'de, E>
        2259 +     impl<'de, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2288:15
             |
        2288 |     impl<'de, 'a> Visitor<'de> for InternallyTaggedUnitVisitor<'a> {
             |               ^^                                               ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2288 -     impl<'de, 'a> Visitor<'de> for InternallyTaggedUnitVisitor<'a> {
        2288 +     impl<'de> Visitor<'de> for InternallyTaggedUnitVisitor<'_> {
             |
    
        warning: the following explicit lifetimes could be elided: 'a, 'de
            --> serde/src/private/de.rs:2333:10
             |
        2333 |     impl<'de, 'a> Visitor<'de> for UntaggedUnitVisitor<'a> {
             |          ^^^  ^^          ^^^                          ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2333 -     impl<'de, 'a> Visitor<'de> for UntaggedUnitVisitor<'a> {
        2333 +     impl Visitor<'_> for UntaggedUnitVisitor<'_> {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2396:11
             |
        2396 | impl<'de, 'a, E> Deserializer<'de> for StrDeserializer<'a, E>
             |           ^^                                           ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2396 - impl<'de, 'a, E> Deserializer<'de> for StrDeserializer<'a, E>
        2396 + impl<'de, E> Deserializer<'de> for StrDeserializer<'_, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a, 'de
            --> serde/src/private/de.rs:2498:6
             |
        2498 | impl<'a, 'de, E> FlatMapDeserializer<'a, 'de, E>
             |      ^^  ^^^                         ^^  ^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2498 - impl<'a, 'de, E> FlatMapDeserializer<'a, 'de, E>
        2498 + impl<E> FlatMapDeserializer<'_, '_, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2522:6
             |
        2522 | impl<'a, 'de, E> Deserializer<'de> for FlatMapDeserializer<'a, 'de, E>
             |      ^^                                                    ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2522 - impl<'a, 'de, E> Deserializer<'de> for FlatMapDeserializer<'a, 'de, E>
        2522 + impl<'de, E> Deserializer<'de> for FlatMapDeserializer<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2658:6
             |
        2658 | impl<'a, 'de, E> MapAccess<'de> for FlatMapAccess<'a, 'de, E>
             |      ^^                                           ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2658 - impl<'a, 'de, E> MapAccess<'de> for FlatMapAccess<'a, 'de, E>
        2658 + impl<'de, E> MapAccess<'de> for FlatMapAccess<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde/src/private/de.rs:2702:6
             |
        2702 | impl<'a, 'de, E> MapAccess<'de> for FlatStructAccess<'a, 'de, E>
             |      ^^                                              ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        2702 - impl<'a, 'de, E> MapAccess<'de> for FlatStructAccess<'a, 'de, E>
        2702 + impl<'de, E> MapAccess<'de> for FlatStructAccess<'_, 'de, E>
             |
    
        warning: the following explicit lifetimes could be elided: 'a
         --> serde/src/de/seed.rs:8:6
          |
        8 | impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T>
          |      ^^                                               ^^
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
          |
        8 - impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T>
        8 + impl<'de, T> DeserializeSeed<'de> for InPlaceSeed<'_, T>
          |
    
        warning: the following explicit lifetimes could be elided: 'a
           --> serde_derive/src/internals/case.rs:124:6
            |
        124 | impl<'a> Display for ParseError<'a> {
            |      ^^                         ^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
            = note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
            = help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
        help: elide the lifetimes
            |
        124 - impl<'a> Display for ParseError<'a> {
        124 + impl Display for ParseError<'_> {
            |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde_derive/src/de.rs:3042:6
             |
        3042 | impl<'a> ToTokens for DeImplGenerics<'a> {
             |      ^^                              ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        3042 - impl<'a> ToTokens for DeImplGenerics<'a> {
        3042 + impl ToTokens for DeImplGenerics<'_> {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
            --> serde_derive/src/de.rs:3124:6
             |
        3124 | impl<'a> ToTokens for DeTypeGenerics<'a> {
             |      ^^                              ^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
        help: elide the lifetimes
             |
        3124 - impl<'a> ToTokens for DeTypeGenerics<'a> {
        3124 + impl ToTokens for DeTypeGenerics<'_> {
             |
    
        warning: the following explicit lifetimes could be elided: 'a
          --> test_suite/tests/test_serde_path.rs:15:10
           |
        15 |     impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
           |          ^^                            ^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
           = note: `-W clippy::needless-lifetimes` implied by `-W clippy::all`
           = help: to override `-W clippy::all` add `#[allow(clippy::needless_lifetimes)]`
        help: elide the lifetimes
           |
        15 -     impl<'a> AssertNotSerdeDeserialize<'a> for Foo {}
        15 +     impl AssertNotSerdeDeserialize<'_> for Foo {}
           |
    dtolnay committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    4b3178b View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Update for precise capture bounds

        warning: some variants are not matched explicitly
           --> serde_derive/src/internals/receiver.rs:209:15
            |
        209 |         match bound {
            |               ^^^^^ pattern `&mut TypeParamBound::PreciseCapture(_)` not covered
            |
            = help: ensure that all variants are matched explicitly by adding the suggested match arms
            = note: the matched value is of type `&mut TypeParamBound` and the `non_exhaustive_omitted_patterns` attribute was found
        note: the lint level is defined here
           --> serde_derive/src/internals/receiver.rs:210:53
            |
        210 |             #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
        warning: some variants are not matched explicitly
           --> serde_derive/src/bound.rs:227:19
            |
        227 |             match bound {
            |                   ^^^^^ pattern `&TypeParamBound::PreciseCapture(_)` not covered
            |
            = help: ensure that all variants are matched explicitly by adding the suggested match arms
            = note: the matched value is of type `&TypeParamBound` and the `non_exhaustive_omitted_patterns` attribute was found
        note: the lint level is defined here
           --> serde_derive/src/bound.rs:228:57
            |
        228 |                 #![cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
            |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    dtolnay committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    8b0f482 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2558 from Mingun/correct-span

    Improve error reporting about mismatched signature in `with` and `default` attributes
    oli-obk authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    04bb76b View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2566 from Mingun/variant-aliases

    Show variant aliases in error message
    oli-obk authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    3415619 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. Temporarily disable 1.56 CI

    While fixing other errors from recently merged PRs.
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    422c719 View commit details
    Browse the repository at this point in the history
  2. Update ui tests from PR 2558

    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    53ade10 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2839 from dtolnay/pr2558

    Update ui tests from PR 2558
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    966e9cc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a8cbc91 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2840 from dtolnay/needlesslifetimes

    Ignore needless_lifetimes clippy lint in generated code
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5382ef3 View commit details
    Browse the repository at this point in the history
  6. Ignore uninlined_format_args pedantic clippy lint

        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/internals/attr.rs:546:36
            |
        546 |                         meta.error(format_args!("unknown serde container attribute `{}`", path))
            |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
            = note: `-W clippy::uninlined-format-args` implied by `-W clippy::pedantic`
            = help: to override `-W clippy::pedantic` add `#[allow(clippy::uninlined_format_args)]`
        help: change this to
            |
        546 -                         meta.error(format_args!("unknown serde container attribute `{}`", path))
        546 +                         meta.error(format_args!("unknown serde container attribute `{path}`"))
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/internals/attr.rs:940:36
            |
        940 |                         meta.error(format_args!("unknown serde variant attribute `{}`", path))
            |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        940 -                         meta.error(format_args!("unknown serde variant attribute `{}`", path))
        940 +                         meta.error(format_args!("unknown serde variant attribute `{path}`"))
            |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1095:33
             |
        1095 | ...                   format!("field `{}` does not have lifetime {}", ident, lifetime);
             |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1095 -                                 format!("field `{}` does not have lifetime {}", ident, lifetime);
        1095 +                                 format!("field `{ident}` does not have lifetime {lifetime}");
             |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1196:47
             |
        1196 |   ...                   let msg = format!(
             |  _________________________________^
        1197 | | ...                       "field `{}` does not have lifetime {}",
        1198 | | ...                       ident, lifetime,
        1199 | | ...                   );
             | |_______________________^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1222:36
             |
        1222 |                         meta.error(format_args!("unknown serde field attribute `{}`", path))
             |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1222 -                         meta.error(format_args!("unknown serde field attribute `{}`", path))
        1222 +                         meta.error(format_args!("unknown serde field attribute `{path}`"))
             |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1415:39
             |
        1415 |                   return Err(meta.error(format_args!(
             |  _______________________________________^
        1416 | |                     "malformed {0} attribute, expected `{0}(serialize = ..., deserialize = ...)`",
        1417 | |                     attr_name,
        1418 | |                 )));
             | |_________________^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1482:17
             |
        1482 |                 format!("unexpected suffix `{}` on string literal", suffix),
             |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1482 -                 format!("unexpected suffix `{}` on string literal", suffix),
        1482 +                 format!("unexpected suffix `{suffix}` on string literal"),
             |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1489:13
             |
        1489 | /             format!(
        1490 | |                 "expected serde {} attribute to be a string: `{} = \"...\"`",
        1491 | |                 attr_name, meta_item_name
        1492 | |             ),
             | |_____________^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1604:21
             |
        1604 |                     format!("duplicate borrowed lifetime `{}`", lifetime),
             |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1604 -                     format!("duplicate borrowed lifetime `{}`", lifetime),
        1604 +                     format!("duplicate borrowed lifetime `{lifetime}`"),
             |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/internals/attr.rs:1778:19
             |
        1778 |         let msg = format!("field `{}` has no lifetimes to borrow", name);
             |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1778 -         let msg = format!("field `{}` has no lifetimes to borrow", name);
        1778 +         let msg = format!("field `{name}` has no lifetimes to borrow");
             |
    
        warning: variables can be used directly in the `format!` string
          --> serde_derive/src/internals/check.rs:41:29
           |
        41 | ...   format!("field must have #[serde(default)] because previous field {} has #[serde(default)]", first),
           |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
           |
        41 -                             format!("field must have #[serde(default)] because previous field {} has #[serde(default)]", first),
        41 +                             format!("field must have #[serde(default)] because previous field {first} has #[serde(default)]"),
           |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/internals/check.rs:314:13
            |
        314 |             format!("variant field name `{}` conflicts with internal tag", tag),
            |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        314 -             format!("variant field name `{}` conflicts with internal tag", tag),
        314 +             format!("variant field name `{tag}` conflicts with internal tag"),
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/internals/check.rs:361:13
            |
        361 | /             format!(
        362 | |                 "enum tags `{}` for type and content conflict with each other",
        363 | |                 type_tag
        364 | |             ),
            | |_____________^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/internals/check.rs:450:33
            |
        450 |         Member::Named(ident) => format!("`{}`", ident),
            |                                 ^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        450 -         Member::Named(ident) => format!("`{}`", ident),
        450 +         Member::Named(ident) => format!("`{ident}`"),
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/de.rs:697:9
            |
        697 |         format!("{} with 1 element", expecting)
            |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        697 -         format!("{} with 1 element", expecting)
        697 +         format!("{expecting} with 1 element")
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/de.rs:699:9
            |
        699 |         format!("{} with {} elements", expecting, deserialized_count)
            |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        699 -         format!("{} with {} elements", expecting, deserialized_count)
        699 +         format!("{expecting} with {deserialized_count} elements")
            |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/de.rs:1442:21
             |
        1442 |     let expecting = format!("adjacently tagged enum {}", rust_name);
             |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1442 -     let expecting = format!("adjacently tagged enum {}", rust_name);
        1442 +     let expecting = format!("adjacently tagged enum {rust_name}");
             |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/de.rs:2842:17
             |
        2842 |     Ident::new(&format!("__field{}", i), Span::call_site())
             |                 ^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        2842 -     Ident::new(&format!("__field{}", i), Span::call_site())
        2842 +     Ident::new(&format!("__field{i}"), Span::call_site())
             |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/ser.rs:457:42
            |
        457 |                     .map(|i| Ident::new(&format!("__field{}", i), Span::call_site()));
            |                                          ^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        457 -                     .map(|i| Ident::new(&format!("__field{}", i), Span::call_site()));
        457 +                     .map(|i| Ident::new(&format!("__field{i}"), Span::call_site()));
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/ser.rs:714:48
            |
        714 |             .map(|i| Member::Named(Ident::new(&format!("__field{}", i), Span::call_site())))
            |                                                ^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        714 -             .map(|i| Member::Named(Ident::new(&format!("__field{}", i), Span::call_site())))
        714 +             .map(|i| Member::Named(Ident::new(&format!("__field{i}"), Span::call_site())))
            |
    
        warning: variables can be used directly in the `format!` string
           --> serde_derive/src/ser.rs:832:46
            |
        832 |                 let field_expr = Ident::new(&format!("__field{}", i), Span::call_site());
            |                                              ^^^^^^^^^^^^^^^^^^^^^^^
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
            |
        832 -                 let field_expr = Ident::new(&format!("__field{}", i), Span::call_site());
        832 +                 let field_expr = Ident::new(&format!("__field{i}"), Span::call_site());
            |
    
        warning: variables can be used directly in the `format!` string
            --> serde_derive/src/ser.rs:1062:38
             |
        1062 |                 let id = Ident::new(&format!("__field{}", i), Span::call_site());
             |                                      ^^^^^^^^^^^^^^^^^^^^^^^
             |
             = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
        help: change this to
             |
        1062 -                 let id = Ident::new(&format!("__field{}", i), Span::call_site());
        1062 +                 let id = Ident::new(&format!("__field{i}"), Span::call_site());
             |
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    6a7de26 View commit details
    Browse the repository at this point in the history
  7. Raise required compiler for serde_derive to 1.61

    This is the rust-version declared by recent versions of Syn.
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    991e344 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d4486be View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    00460b8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ab4f3f3 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #2841 from dtolnay/serializewith

    Reduce scope of quote_spanned on SerializeWith wrapper
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    830309f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3393ad6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    0a06af8 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    c6a5be7 View commit details
    Browse the repository at this point in the history
  15. Merge pull request #2842 from dtolnay/identsaliases

    Rename field_names_idents -> field_idents_aliases
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1f9eb83 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    09f6d93 View commit details
    Browse the repository at this point in the history
  17. Merge pull request #2843 from dtolnay/fieldwithaliases

    Collect field ident and aliases into a struct
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    af4c388 View commit details
    Browse the repository at this point in the history
  18. Release 1.0.211

    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1b8310d View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    29d4f3e View commit details
    Browse the repository at this point in the history
  20. Add regression test for issue 2844

        error[E0424]: expected value, found module `self`
          --> test_suite/tests/regression/issue2844.rs:13:19
           |
        5  |         #[derive(Serialize, Deserialize)]
           |                  --------- this function has a `self` parameter, but a macro invocation can only access identifiers it receives from parameters
        ...
        13 | declare_in_macro!("with");
           |                   ^^^^^^ `self` value is a keyword only available in methods with a `self` parameter
    
        error[E0425]: cannot find value `__s` in this scope
          --> test_suite/tests/regression/issue2844.rs:13:19
           |
        13 | declare_in_macro!("with");
           |                   ^^^^^^ not found in this scope
    
        error[E0425]: cannot find value `__deserializer` in this scope
          --> test_suite/tests/regression/issue2844.rs:13:19
           |
        13 | declare_in_macro!("with");
           |                   ^^^^^^ not found in this scope
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    0058c72 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    1e36ef5 View commit details
    Browse the repository at this point in the history
  22. Merge pull request #2845 from dtolnay/withlocal

    Fix hygiene of macro-generated local variable accesses in serde(with) wrappers
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1ac054b View commit details
    Browse the repository at this point in the history
  23. Release 1.0.212

    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    7ae1b5f View commit details
    Browse the repository at this point in the history
  24. Ignore trivially_copy_pass_by_ref pedantic clippy lint in test

        warning: this argument (4 byte) is passed by reference, but would be more efficient if passed by value (limit: 8 byte)
          --> test_suite/tests/regression/issue2844.rs:18:28
           |
        18 |     pub fn serialize<S>(_: &i32, _: S) -> Result<S::Ok, S::Error>
           |                            ^^^^ help: consider passing by value instead: `i32`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref
           = note: `-W clippy::trivially-copy-pass-by-ref` implied by `-W clippy::pedantic`
           = help: to override `-W clippy::pedantic` add `#[allow(clippy::trivially_copy_pass_by_ref)]`
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    49e11ce View commit details
    Browse the repository at this point in the history
  25. Add regression test for issue 2846

        error[E0425]: cannot find value `__e` in this scope
          --> test_suite/tests/regression/issue2846.rs:12:19
           |
        12 | declare_in_macro!("with");
           |                   ^^^^^^ not found in this scope
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    fdc36e5 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    b60e409 View commit details
    Browse the repository at this point in the history
  27. Ignore dead_code warning in regression test

        warning: field `0` is never read
          --> test_suite/tests/regression/issue2846.rs:8:45
           |
        8  |         pub struct S(#[serde(with = $with)] i32);
           |                    - field in this struct   ^^^
        ...
        12 | declare_in_macro!("with");
           | ------------------------- in this macro invocation
           |
           = help: consider removing this field
           = note: `#[warn(dead_code)]` on by default
           = note: this warning originates in the macro `declare_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    79925ac View commit details
    Browse the repository at this point in the history
  28. Merge pull request #2847 from dtolnay/newtypewith

    Hygiene for macro-generated newtype struct deserialization with `with` attr
    dtolnay authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ef0ed22 View commit details
    Browse the repository at this point in the history
  29. Release 1.0.213

    dtolnay committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    58a8d22 View commit details
    Browse the repository at this point in the history