From 3a850decb23b38befecba1d0a81641df9ecbbb10 Mon Sep 17 00:00:00 2001 From: Jarl Evanson Date: Tue, 2 Jun 2026 19:55:45 +0000 Subject: [PATCH 1/2] bootstrap: enable `clippy::mem_replace_with_default` --- src/bootstrap/src/core/build_steps/clippy.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bootstrap/src/core/build_steps/clippy.rs b/src/bootstrap/src/core/build_steps/clippy.rs index 9e5bfd2e60e9c..d3b533c954293 100644 --- a/src/bootstrap/src/core/build_steps/clippy.rs +++ b/src/bootstrap/src/core/build_steps/clippy.rs @@ -607,6 +607,7 @@ impl Step for CI { "clippy::single_char_add_str".into(), "clippy::to_string_in_format_args".into(), "clippy::unconditional_recursion".into(), + "clippy::mem_replace_with_default".into(), ], forbid: vec![], }; From 3dacac8f4bb2d09de567e501c8b4a0d427b4d8a8 Mon Sep 17 00:00:00 2001 From: Jarl Evanson Date: Tue, 2 Jun 2026 20:37:47 +0000 Subject: [PATCH 2/2] compiler: fix `clippy::mem_replace_with_default` warnings --- compiler/rustc_codegen_ssa/src/back/write.rs | 2 +- compiler/rustc_middle/src/dep_graph/serialized.rs | 2 +- compiler/rustc_span/src/lib.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/rustc_codegen_ssa/src/back/write.rs b/compiler/rustc_codegen_ssa/src/back/write.rs index 38bde976b1b02..37546d4aa056d 100644 --- a/compiler/rustc_codegen_ssa/src/back/write.rs +++ b/compiler/rustc_codegen_ssa/src/back/write.rs @@ -1964,7 +1964,7 @@ impl Emitter for SharedEmitter { assert_eq!(diag.is_lint, None); // No sensible check for `diag.emitted_at`. - let args = mem::replace(&mut diag.args, DiagArgMap::default()); + let args = mem::take(&mut diag.args); drop( self.sender.send(SharedEmitterMessage::Diagnostic(Diagnostic { span: diag.span.primary_spans().iter().map(|span| span.data()).collect::>(), diff --git a/compiler/rustc_middle/src/dep_graph/serialized.rs b/compiler/rustc_middle/src/dep_graph/serialized.rs index ef5e3d9268ad7..6d7f8e37e6c0a 100644 --- a/compiler/rustc_middle/src/dep_graph/serialized.rs +++ b/compiler/rustc_middle/src/dep_graph/serialized.rs @@ -738,7 +738,7 @@ impl EncoderState { // Prevent more indices from being allocated on this thread. local.remaining_node_index = 0; - let data = mem::replace(&mut local.encoder.data, Vec::new()); + let data = mem::take(&mut local.encoder.data); self.file.lock().as_mut().unwrap().emit_raw_bytes(&data); LocalEncoderResult { diff --git a/compiler/rustc_span/src/lib.rs b/compiler/rustc_span/src/lib.rs index 2371bf15756da..13dea1657339e 100644 --- a/compiler/rustc_span/src/lib.rs +++ b/compiler/rustc_span/src/lib.rs @@ -2573,7 +2573,7 @@ fn normalize_newlines(src: &mut String, normalized_pos: &mut Vec) // directly, let's rather steal the contents of `src`. This makes the code // safe even if a panic occurs. - let mut buf = std::mem::replace(src, String::new()).into_bytes(); + let mut buf = std::mem::take(src).into_bytes(); let mut gap_len = 0; let mut tail = buf.as_mut_slice(); let mut cursor = 0;