2020-10-31 19:31:34 +00:00
|
|
|
#![warn(clippy::panic_in_result_fn)]
|
2022-10-02 19:13:22 +00:00
|
|
|
#![allow(clippy::uninlined_format_args, clippy::unnecessary_wraps)]
|
2020-10-31 19:31:34 +00:00
|
|
|
|
|
|
|
struct A;
|
|
|
|
|
|
|
|
impl A {
|
|
|
|
fn result_with_assert_with_message(x: i32) -> Result<bool, String> // should emit lint
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: used `panic!()` or assertion in a function that returns `Result`
|
2020-10-31 19:31:34 +00:00
|
|
|
{
|
|
|
|
assert!(x == 5, "wrong argument");
|
|
|
|
Ok(true)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn result_with_assert_eq(x: i32) -> Result<bool, String> // should emit lint
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: used `panic!()` or assertion in a function that returns `Result`
|
2020-10-31 19:31:34 +00:00
|
|
|
{
|
|
|
|
assert_eq!(x, 5);
|
|
|
|
Ok(true)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn result_with_assert_ne(x: i32) -> Result<bool, String> // should emit lint
|
2023-07-28 19:35:48 +00:00
|
|
|
//~^ ERROR: used `panic!()` or assertion in a function that returns `Result`
|
2020-10-31 19:31:34 +00:00
|
|
|
{
|
|
|
|
assert_ne!(x, 1);
|
|
|
|
Ok(true)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn other_with_assert_with_message(x: i32) // should not emit lint
|
|
|
|
{
|
|
|
|
assert!(x == 5, "wrong argument");
|
|
|
|
}
|
|
|
|
|
|
|
|
fn other_with_assert_eq(x: i32) // should not emit lint
|
|
|
|
{
|
|
|
|
assert_eq!(x, 5);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn other_with_assert_ne(x: i32) // should not emit lint
|
|
|
|
{
|
|
|
|
assert_ne!(x, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn result_without_banned_functions() -> Result<bool, String> // should not emit lint
|
|
|
|
{
|
|
|
|
let assert = "assert!";
|
|
|
|
println!("No {}", assert);
|
|
|
|
Ok(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|