mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
57 lines
1.3 KiB
Rust
57 lines
1.3 KiB
Rust
#![warn(clippy::eq_op)]
|
|
|
|
// lint also in macro definition
|
|
macro_rules! assert_in_macro_def {
|
|
() => {
|
|
let a = 42;
|
|
assert_eq!(a, a);
|
|
assert_ne!(a, a);
|
|
debug_assert_eq!(a, a);
|
|
debug_assert_ne!(a, a);
|
|
};
|
|
}
|
|
|
|
// lint identical args in assert-like macro invocations (see #3574)
|
|
fn main() {
|
|
assert_in_macro_def!();
|
|
|
|
let a = 1;
|
|
let b = 2;
|
|
|
|
// lint identical args in `assert_eq!`
|
|
assert_eq!(a, a);
|
|
assert_eq!(a + 1, a + 1);
|
|
// ok
|
|
assert_eq!(a, b);
|
|
assert_eq!(a, a + 1);
|
|
assert_eq!(a + 1, b + 1);
|
|
|
|
// lint identical args in `assert_ne!`
|
|
assert_ne!(a, a);
|
|
assert_ne!(a + 1, a + 1);
|
|
// ok
|
|
assert_ne!(a, b);
|
|
assert_ne!(a, a + 1);
|
|
assert_ne!(a + 1, b + 1);
|
|
|
|
// lint identical args in `debug_assert_eq!`
|
|
debug_assert_eq!(a, a);
|
|
debug_assert_eq!(a + 1, a + 1);
|
|
// ok
|
|
debug_assert_eq!(a, b);
|
|
debug_assert_eq!(a, a + 1);
|
|
debug_assert_eq!(a + 1, b + 1);
|
|
|
|
// lint identical args in `debug_assert_ne!`
|
|
debug_assert_ne!(a, a);
|
|
debug_assert_ne!(a + 1, a + 1);
|
|
// ok
|
|
debug_assert_ne!(a, b);
|
|
debug_assert_ne!(a, a + 1);
|
|
debug_assert_ne!(a + 1, b + 1);
|
|
|
|
let my_vec = vec![1; 5];
|
|
let mut my_iter = my_vec.iter();
|
|
assert_ne!(my_iter.next(), my_iter.next());
|
|
}
|