summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/vtable_address_comparisons.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/vtable_address_comparisons.rs')
-rw-r--r--src/tools/clippy/tests/ui/vtable_address_comparisons.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/tools/clippy/tests/ui/vtable_address_comparisons.rs b/src/tools/clippy/tests/ui/vtable_address_comparisons.rs
deleted file mode 100644
index 75647c027..000000000
--- a/src/tools/clippy/tests/ui/vtable_address_comparisons.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-use std::fmt::Debug;
-use std::ptr;
-use std::rc::Rc;
-use std::sync::Arc;
-
-#[warn(clippy::vtable_address_comparisons)]
-#[allow(clippy::borrow_as_ptr)]
-
-fn main() {
- let a: *const dyn Debug = &1 as &dyn Debug;
- let b: *const dyn Debug = &1 as &dyn Debug;
-
- // These should fail:
- let _ = a == b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- let _ = a != b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- let _ = a < b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- let _ = a <= b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- let _ = a > b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- let _ = a >= b;
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
- ptr::eq(a, b);
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
-
- let a = &1 as &dyn Debug;
- let b = &1 as &dyn Debug;
- ptr::eq(a, b);
- //~^ ERROR: comparing trait object pointers compares a non-unique vtable address
-
- // These should be fine:
- let a = &1;
- ptr::eq(a, a);
-
- let a = Rc::new(1);
- Rc::ptr_eq(&a, &a);
-
- let a = Arc::new(1);
- Arc::ptr_eq(&a, &a);
-
- let a: Rc<dyn Debug> = Rc::new(1);
- Rc::ptr_eq(&a, &a);
-
- let a: Arc<dyn Debug> = Arc::new(1);
- Arc::ptr_eq(&a, &a);
-
- let a: &[u8] = b"";
- ptr::eq(a, a);
-}