Skip to content

Commit 98b59a1

Browse files
Add a Lint for Pointer to Integer Transmutes in Consts
1 parent c8f5136 commit 98b59a1

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

tests/ui/transmutes_expressible_as_ptr_casts.fixed

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,11 @@ fn issue_10449() {
8484
}
8585

8686
// Pointers cannot be cast to integers in const contexts
87+
#[allow(ptr_to_integer_transmute_in_consts, reason = "This is tested in the compiler test suite")]
8788
const fn issue_12402<P>(ptr: *const P) {
88-
unsafe { transmute::<*const i32, usize>(&42i32) };
89-
unsafe { transmute::<fn(*const P), usize>(issue_12402) };
90-
let _ = unsafe { transmute::<_, usize>(ptr) };
89+
// This test exists even though the compiler lints against it
90+
// to test that clippy's transmute lints do not trigger on this.
91+
unsafe { std::mem::transmute::<*const i32, usize>(&42i32) };
92+
unsafe { std::mem::transmute::<fn(*const P), usize>(issue_12402) };
93+
let _ = unsafe { std::mem::transmute::<_, usize>(ptr) };
9194
}

tests/ui/transmutes_expressible_as_ptr_casts.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,11 @@ fn issue_10449() {
8484
}
8585

8686
// Pointers cannot be cast to integers in const contexts
87+
#[allow(ptr_to_integer_transmute_in_consts, reason = "This is tested in the compiler test suite")]
8788
const fn issue_12402<P>(ptr: *const P) {
88-
unsafe { transmute::<*const i32, usize>(&42i32) };
89-
unsafe { transmute::<fn(*const P), usize>(issue_12402) };
90-
let _ = unsafe { transmute::<_, usize>(ptr) };
89+
// This test exists even though the compiler lints against it
90+
// to test that clippy's transmute lints do not trigger on this.
91+
unsafe { std::mem::transmute::<*const i32, usize>(&42i32) };
92+
unsafe { std::mem::transmute::<fn(*const P), usize>(issue_12402) };
93+
let _ = unsafe { std::mem::transmute::<_, usize>(ptr) };
9194
}

0 commit comments

Comments
 (0)