From 1c9601358b57b9023450a0e2e7f599572a76b49d Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 2 Mar 2025 23:59:53 -0800 Subject: [PATCH] Resolve mem_replace_with_default clippy lint warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` --> serde_derive/src/internals/receiver.rs:52:24 | 52 | let segments = mem::replace(&mut path.segments, Punctuated::new()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut path.segments)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default = note: `-W clippy::mem-replace-with-default` implied by `-W clippy::all` = help: to override `-W clippy::all` add `#[allow(clippy::mem_replace_with_default)]` --- serde_derive/src/internals/receiver.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serde_derive/src/internals/receiver.rs b/serde_derive/src/internals/receiver.rs index 1e7fc54f..a322e8e7 100644 --- a/serde_derive/src/internals/receiver.rs +++ b/serde_derive/src/internals/receiver.rs @@ -49,7 +49,7 @@ impl ReplaceReceiver<'_> { path.leading_colon = Some(**path.segments.pairs().next().unwrap().punct().unwrap()); - let segments = mem::replace(&mut path.segments, Punctuated::new()); + let segments = mem::take(&mut path.segments); path.segments = segments.into_pairs().skip(1).collect(); }