diff --git a/src/lib.rs b/src/lib.rs index 3d4754d..84d58a8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -410,6 +410,8 @@ fn gen_result_label_block( let __input_string = format!(#input_format); #[allow(unknown_lints)] let __ret_value = async { #block }.await; + #[allow(unknown_lints)] + #[allow(clippy::ignored_unit_patterns)] match __ret_value { #ok_arm #err_arm @@ -435,6 +437,8 @@ fn gen_result_label_block( #[allow(clippy::redundant_closure_call)] #[allow(clippy::let_unit_value)] let __ret_value = (move || #block)(); + #[allow(unknown_lints)] + #[allow(clippy::ignored_unit_patterns)] match __ret_value { #ok_arm #err_arm @@ -489,6 +493,8 @@ fn gen_option_label_block( let __input_string = format!(#input_format); #[allow(unknown_lints)] let __ret_value = async { #block }.await; + #[allow(unknown_lints)] + #[allow(clippy::ignored_unit_patterns)] match __ret_value { #some_arm #none_arm @@ -514,6 +520,8 @@ fn gen_option_label_block( #[allow(clippy::redundant_closure_call)] #[allow(clippy::let_unit_value)] let __ret_value = (move || #block)(); + #[allow(unknown_lints)] + #[allow(clippy::ignored_unit_patterns)] match __ret_value { #some_arm #none_arm diff --git a/tests/ui/ok/unit-type-option.rs b/tests/ui/ok/unit-type-option.rs new file mode 100644 index 0000000..a4c35e3 --- /dev/null +++ b/tests/ui/ok/unit-type-option.rs @@ -0,0 +1,32 @@ +// Test for issue: logcall should not trigger clippy::ignored_unit_patterns warning +// for Option<()> return types + +#![warn(clippy::pedantic)] + +#[logcall::logcall(some = "debug", none = "info")] +pub async fn maybe() -> Option<()> { + Some(()) +} + +#[logcall::logcall(some = "info")] +pub async fn some_only() -> Option<()> { + Some(()) +} + +#[logcall::logcall(none = "info")] +pub async fn none_only() -> Option<()> { + None +} + +#[logcall::logcall(some = "debug", none = "info")] +pub fn sync_maybe() -> Option<()> { + Some(()) +} + +#[tokio::main] +async fn main() { + let _ = maybe().await; + let _ = some_only().await; + let _ = none_only().await; + let _ = sync_maybe(); +} diff --git a/tests/ui/ok/unit-type-result.rs b/tests/ui/ok/unit-type-result.rs new file mode 100644 index 0000000..c4a2950 --- /dev/null +++ b/tests/ui/ok/unit-type-result.rs @@ -0,0 +1,32 @@ +// Test for issue: logcall should not trigger clippy::ignored_unit_patterns warning +// for Result<(), E> return types + +#![warn(clippy::pedantic)] + +#[logcall::logcall(ok = "debug", err = "error")] +pub async fn start() -> Result<(), String> { + Ok(()) +} + +#[logcall::logcall(ok = "info")] +pub async fn ok_only() -> Result<(), String> { + Ok(()) +} + +#[logcall::logcall(err = "error")] +pub async fn err_only() -> Result<(), String> { + Ok(()) +} + +#[logcall::logcall(ok = "debug", err = "error")] +pub fn sync_start() -> Result<(), String> { + Ok(()) +} + +#[tokio::main] +async fn main() { + let _ = start().await; + let _ = ok_only().await; + let _ = err_only().await; + let _ = sync_start(); +}