diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2025-04-13 11:51:40 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2025-04-15 20:33:01 +0200 |
| commit | 62a9cad8f10b5df8d88c618274f3004e3ccc9033 (patch) | |
| tree | c3713b680d53c50d61fb6d5fdce3716e93b9f545 | |
| parent | cd26de607aa8e421bf0b3365c9e7a3854c764c67 (diff) | |
| download | rust-62a9cad8f10b5df8d88c618274f3004e3ccc9033.tar.gz rust-62a9cad8f10b5df8d88c618274f3004e3ccc9033.zip | |
Add `needless_pass_by_ref_mut` edition 2021 specific test
There is a specific test that `unsafe fn` are not lint, and that `unsafe` blocks are not lint either. Since in edition 2024 `unsafe` blocks are required inside `unsafe fn` to do unsafe things, set up a specific test for edition 2021.
| -rw-r--r-- | tests/ui/needless_pass_by_ref_mut.rs | 2 | ||||
| -rw-r--r-- | tests/ui/needless_pass_by_ref_mut_2021.rs | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/tests/ui/needless_pass_by_ref_mut.rs b/tests/ui/needless_pass_by_ref_mut.rs index 5d9936fdac4..bdad3e3d5b0 100644 --- a/tests/ui/needless_pass_by_ref_mut.rs +++ b/tests/ui/needless_pass_by_ref_mut.rs @@ -301,7 +301,7 @@ struct Data<T: ?Sized> { } // Unsafe functions should not warn. unsafe fn get_mut_unchecked<T>(ptr: &mut NonNull<Data<T>>) -> &mut T { - &mut (*ptr.as_ptr()).value + unsafe { &mut (*ptr.as_ptr()).value } } // Unsafe blocks should not warn. fn get_mut_unchecked2<T>(ptr: &mut NonNull<Data<T>>) -> &mut T { diff --git a/tests/ui/needless_pass_by_ref_mut_2021.rs b/tests/ui/needless_pass_by_ref_mut_2021.rs new file mode 100644 index 00000000000..994eba9cae3 --- /dev/null +++ b/tests/ui/needless_pass_by_ref_mut_2021.rs @@ -0,0 +1,12 @@ +//@edition: 2021 +//@check-pass +#![warn(clippy::needless_pass_by_ref_mut)] + +struct Data<T: ?Sized> { + value: T, +} + +// Unsafe functions should not warn. +unsafe fn get_mut_unchecked<T>(ptr: &mut std::ptr::NonNull<Data<T>>) -> &mut T { + &mut (*ptr.as_ptr()).value +} |
