From 9c2d650cb8d3aa5940e4c0143257fd3ee9dae698 Mon Sep 17 00:00:00 2001 From: Yi Wang Date: Tue, 26 Dec 2023 15:03:36 +0800 Subject: [PATCH] build: fix clippy complex closures issue CI reports clippy errors: error: in a `match` scrutinee, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a `let` --> test_infra/src/lib.rs:93:51 | 93 | match (|| -> Result<(), WaitForBootError> { | ___________________________________________________^ 94 | | let listener = 95 | | TcpListener::bind(listen_addr.as_str()).map_err(WaitForBootError::Listen)?; 96 | | listener ... | 145 | | } 146 | | })() { | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `-D clippy::blocks-in-conditions` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::blocks_in_conditions)]` Signed-off-by: Yi Wang --- test_infra/src/lib.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test_infra/src/lib.rs b/test_infra/src/lib.rs index 37d1a067c..ddf29eb29 100644 --- a/test_infra/src/lib.rs +++ b/test_infra/src/lib.rs @@ -90,7 +90,7 @@ impl GuestNetworkConfig { None => DEFAULT_TCP_LISTENER_TIMEOUT, }; - match (|| -> Result<(), WaitForBootError> { + let mut closure = || -> Result<(), WaitForBootError> { let listener = TcpListener::bind(listen_addr.as_str()).map_err(WaitForBootError::Listen)?; listener @@ -143,7 +143,9 @@ impl GuestNetworkConfig { Err(WaitForBootError::Accept(e)) } } - })() { + }; + + match closure() { Err(e) => { let duration = start.elapsed(); eprintln!( @@ -559,7 +561,7 @@ fn scp_to_guest_with_auth( ) -> Result<(), SshCommandError> { let mut counter = 0; loop { - match (|| -> Result<(), SshCommandError> { + let closure = || -> Result<(), SshCommandError> { let tcp = TcpStream::connect(format!("{ip}:22")).map_err(SshCommandError::Connection)?; let mut sess = Session::new().unwrap(); @@ -592,7 +594,9 @@ fn scp_to_guest_with_auth( let _ = channel.wait_close(); Ok(()) - })() { + }; + + match closure() { Ok(_) => break, Err(e) => { counter += 1; @@ -647,7 +651,7 @@ pub fn ssh_command_ip_with_auth( let mut counter = 0; loop { - match (|| -> Result<(), SshCommandError> { + let mut closure = || -> Result<(), SshCommandError> { let tcp = TcpStream::connect(format!("{ip}:22")).map_err(SshCommandError::Connection)?; let mut sess = Session::new().unwrap(); @@ -676,7 +680,9 @@ pub fn ssh_command_ip_with_auth( } else { Ok(()) } - })() { + }; + + match closure() { Ok(_) => break, Err(e) => { counter += 1;