[PATCH] rust_binder: clean Clippy `mem-replace-with-default` warning

Miguel Ojeda posted 1 patch 2 months, 1 week ago
drivers/android/binder/node.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] rust_binder: clean Clippy `mem-replace-with-default` warning
Posted by Miguel Ojeda 2 months, 1 week ago
Starting with Rust 1.87.0, Clippy reports:

      CLIPPY     drivers/android/binder/rust_binder_main.o
    error: replacing a value of type `T` with `T::default()` is better expressed using `core::mem::take`
       --> drivers/android/binder/node.rs:690:32
        |
    690 |             _unused_capacity = mem::replace(&mut inner.freeze_list, KVVec::new());
        |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `core::mem::take(&mut inner.freeze_list)`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
        = note: `-D clippy::mem-replace-with-default` implied by `-D warnings`
        = help: to override `-D warnings` add `#[allow(clippy::mem_replace_with_default)]`

Thus clean it up as suggested.

Fixes: eafedbc7c050 ("rust_binder: add Rust Binder driver")
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 drivers/android/binder/node.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/android/binder/node.rs b/drivers/android/binder/node.rs
index ade895ef791e..08d362deaf61 100644
--- a/drivers/android/binder/node.rs
+++ b/drivers/android/binder/node.rs
@@ -687,7 +687,7 @@ pub(crate) fn remove_freeze_listener(&self, p: &Arc<Process>) {
             );
         }
         if inner.freeze_list.is_empty() {
-            _unused_capacity = mem::replace(&mut inner.freeze_list, KVVec::new());
+            _unused_capacity = mem::take(&mut inner.freeze_list);
         }
     }
 

base-commit: 8765f467912ff0d4832eeaf26ae573792da877e7
-- 
2.51.0
Re: [PATCH] rust_binder: clean Clippy `mem-replace-with-default` warning
Posted by Miguel Ojeda 2 months ago
On Sun, Oct 12, 2025 at 11:32 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Starting with Rust 1.87.0, Clippy reports:
>
>       CLIPPY     drivers/android/binder/rust_binder_main.o
>     error: replacing a value of type `T` with `T::default()` is better expressed using `core::mem::take`
>        --> drivers/android/binder/node.rs:690:32
>         |
>     690 |             _unused_capacity = mem::replace(&mut inner.freeze_list, KVVec::new());
>         |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `core::mem::take(&mut inner.freeze_list)`
>         |
>         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
>         = note: `-D clippy::mem-replace-with-default` implied by `-D warnings`
>         = help: to override `-D warnings` add `#[allow(clippy::mem_replace_with_default)]`
>
> Thus clean it up as suggested.
>
> Fixes: eafedbc7c050 ("rust_binder: add Rust Binder driver")
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

For completeness: this is a duplicate (from myself!) of

    https://lore.kernel.org/all/20250924130510.752115-1-ojeda@kernel.org/

which Greg already applied as commit 7e69a24b6b35 ("rust_binder: clean
`clippy::mem_replace_with_default` warning"), in -next for a few days.

It would be nice to get it to Linus soon, so that Clippy builds are clean.

Thanks!

Cheers,
Miguel
Re: [PATCH] rust_binder: clean Clippy `mem-replace-with-default` warning
Posted by Alice Ryhl 2 months, 1 week ago
On Sun, Oct 12, 2025 at 11:32:30PM +0200, Miguel Ojeda wrote:
> Starting with Rust 1.87.0, Clippy reports:
> 
>       CLIPPY     drivers/android/binder/rust_binder_main.o
>     error: replacing a value of type `T` with `T::default()` is better expressed using `core::mem::take`
>        --> drivers/android/binder/node.rs:690:32
>         |
>     690 |             _unused_capacity = mem::replace(&mut inner.freeze_list, KVVec::new());
>         |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `core::mem::take(&mut inner.freeze_list)`
>         |
>         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
>         = note: `-D clippy::mem-replace-with-default` implied by `-D warnings`
>         = help: to override `-D warnings` add `#[allow(clippy::mem_replace_with_default)]`
> 
> Thus clean it up as suggested.
> 
> Fixes: eafedbc7c050 ("rust_binder: add Rust Binder driver")
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Thanks. I guess I never got around to making use of commit 47d8101924b5
("rust: vec: impl Default for Vec with any allocator").

Reviewed-by: Alice Ryhl <aliceryhl@google.com>