]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/ptr_eq.rs
Rollup merge of #86828 - lambinoo:67441-const-fn-copied-take-replace, r=joshtriplett
[rust.git] / src / tools / clippy / tests / ui / ptr_eq.rs
1 // run-rustfix
2 #![warn(clippy::ptr_eq)]
3
4 macro_rules! mac {
5     ($a:expr, $b:expr) => {
6         $a as *const _ as usize == $b as *const _ as usize
7     };
8 }
9
10 macro_rules! another_mac {
11     ($a:expr, $b:expr) => {
12         $a as *const _ == $b as *const _
13     };
14 }
15
16 fn main() {
17     let a = &[1, 2, 3];
18     let b = &[1, 2, 3];
19
20     let _ = a as *const _ as usize == b as *const _ as usize;
21     let _ = a as *const _ == b as *const _;
22     let _ = a.as_ptr() == b as *const _;
23     let _ = a.as_ptr() == b.as_ptr();
24
25     // Do not lint
26
27     let _ = mac!(a, b);
28     let _ = another_mac!(a, b);
29
30     let a = &mut [1, 2, 3];
31     let b = &mut [1, 2, 3];
32
33     let _ = a.as_mut_ptr() == b as *mut [i32] as *mut _;
34     let _ = a.as_mut_ptr() == b.as_mut_ptr();
35
36     let _ = a == b;
37     let _ = core::ptr::eq(a, b);
38 }