Add missing_assert_message lint
Co-authored-by: Weihang Lo <me@weihanglo.tw>
This commit is contained in:
parent
41fa24cef8
commit
ea2547b8c6
8 changed files with 313 additions and 2 deletions
|
|
@ -1,7 +1,7 @@
|
|||
// run-rustfix
|
||||
|
||||
#![warn(clippy::all, clippy::pedantic)]
|
||||
#![allow(unused)]
|
||||
#![allow(unused, clippy::missing_assert_message)]
|
||||
|
||||
fn main() {
|
||||
let a = ["1", "lol", "3", "NaN", "5"];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// run-rustfix
|
||||
|
||||
#![warn(clippy::all, clippy::pedantic)]
|
||||
#![allow(unused)]
|
||||
#![allow(unused, clippy::missing_assert_message)]
|
||||
|
||||
fn main() {
|
||||
let a = ["1", "lol", "3", "NaN", "5"];
|
||||
|
|
|
|||
84
tests/ui/missing_assert_message.rs
Normal file
84
tests/ui/missing_assert_message.rs
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
#![allow(unused)]
|
||||
#![warn(clippy::missing_assert_message)]
|
||||
|
||||
macro_rules! bar {
|
||||
($( $x:expr ),*) => {
|
||||
foo()
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
||||
// Should trigger warning
|
||||
fn asserts_without_message() {
|
||||
assert!(foo());
|
||||
assert_eq!(foo(), foo());
|
||||
assert_ne!(foo(), foo());
|
||||
debug_assert!(foo());
|
||||
debug_assert_eq!(foo(), foo());
|
||||
debug_assert_ne!(foo(), foo());
|
||||
}
|
||||
|
||||
// Should trigger warning
|
||||
fn asserts_without_message_but_with_macro_calls() {
|
||||
assert!(bar!(true));
|
||||
assert!(bar!(true, false));
|
||||
assert_eq!(bar!(true), foo());
|
||||
assert_ne!(bar!(true, true), bar!(true));
|
||||
}
|
||||
|
||||
// Should trigger warning
|
||||
fn asserts_with_trailing_commas() {
|
||||
assert!(foo(),);
|
||||
assert_eq!(foo(), foo(),);
|
||||
assert_ne!(foo(), foo(),);
|
||||
debug_assert!(foo(),);
|
||||
debug_assert_eq!(foo(), foo(),);
|
||||
debug_assert_ne!(foo(), foo(),);
|
||||
}
|
||||
|
||||
// Should not trigger warning
|
||||
fn asserts_with_message_and_with_macro_calls() {
|
||||
assert!(bar!(true), "msg");
|
||||
assert!(bar!(true, false), "msg");
|
||||
assert_eq!(bar!(true), foo(), "msg");
|
||||
assert_ne!(bar!(true, true), bar!(true), "msg");
|
||||
}
|
||||
|
||||
// Should not trigger warning
|
||||
fn asserts_with_message() {
|
||||
assert!(foo(), "msg");
|
||||
assert_eq!(foo(), foo(), "msg");
|
||||
assert_ne!(foo(), foo(), "msg");
|
||||
debug_assert!(foo(), "msg");
|
||||
debug_assert_eq!(foo(), foo(), "msg");
|
||||
debug_assert_ne!(foo(), foo(), "msg");
|
||||
}
|
||||
|
||||
// Should not trigger warning
|
||||
#[test]
|
||||
fn asserts_without_message_but_inside_a_test_function() {
|
||||
assert!(foo());
|
||||
assert_eq!(foo(), foo());
|
||||
assert_ne!(foo(), foo());
|
||||
debug_assert!(foo());
|
||||
debug_assert_eq!(foo(), foo());
|
||||
debug_assert_ne!(foo(), foo());
|
||||
}
|
||||
|
||||
// Should not trigger warning
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
fn asserts_without_message_but_inside_a_test_module() {
|
||||
assert!(foo());
|
||||
assert_eq!(foo(), foo());
|
||||
assert_ne!(foo(), foo());
|
||||
debug_assert!(foo());
|
||||
debug_assert_eq!(foo(), foo());
|
||||
debug_assert_ne!(foo(), foo());
|
||||
}
|
||||
}
|
||||
|
||||
fn foo() -> bool {
|
||||
true
|
||||
}
|
||||
100
tests/ui/missing_assert_message.stderr
Normal file
100
tests/ui/missing_assert_message.stderr
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:14:5
|
||||
|
|
||||
LL | assert!(foo());
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `-D clippy::missing-assert-message` implied by `-D warnings`
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:15:5
|
||||
|
|
||||
LL | assert_eq!(foo(), foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:16:5
|
||||
|
|
||||
LL | assert_ne!(foo(), foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:17:5
|
||||
|
|
||||
LL | debug_assert!(foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:18:5
|
||||
|
|
||||
LL | debug_assert_eq!(foo(), foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:19:5
|
||||
|
|
||||
LL | debug_assert_ne!(foo(), foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:24:5
|
||||
|
|
||||
LL | assert!(bar!(true));
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:25:5
|
||||
|
|
||||
LL | assert!(bar!(true, false));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:26:5
|
||||
|
|
||||
LL | assert_eq!(bar!(true), foo());
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:27:5
|
||||
|
|
||||
LL | assert_ne!(bar!(true, true), bar!(true));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:32:5
|
||||
|
|
||||
LL | assert!(foo(),);
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:33:5
|
||||
|
|
||||
LL | assert_eq!(foo(), foo(),);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:34:5
|
||||
|
|
||||
LL | assert_ne!(foo(), foo(),);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:35:5
|
||||
|
|
||||
LL | debug_assert!(foo(),);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:36:5
|
||||
|
|
||||
LL | debug_assert_eq!(foo(), foo(),);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: assert without any message
|
||||
--> $DIR/missing_assert_message.rs:37:5
|
||||
|
|
||||
LL | debug_assert_ne!(foo(), foo(),);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 16 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue