about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2025-04-13 11:51:40 +0200
committerSamuel Tardieu <sam@rfc1149.net>2025-04-15 20:33:01 +0200
commit62a9cad8f10b5df8d88c618274f3004e3ccc9033 (patch)
treec3713b680d53c50d61fb6d5fdce3716e93b9f545
parentcd26de607aa8e421bf0b3365c9e7a3854c764c67 (diff)
downloadrust-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.rs2
-rw-r--r--tests/ui/needless_pass_by_ref_mut_2021.rs12
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
+}