From ca3315a69f593ad705eb637f227f195edd7781b2 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 4 Aug 2022 11:47:45 +0000 Subject: [PATCH] chore: lint unused unwraps --- src/app_data/mod.rs | 3 ++- src/main.rs | 43 +++++++++++++++++++++++++++++-------------- src/ui/color_match.rs | 2 +- src/ui/mod.rs | 11 ++++++++--- 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/src/app_data/mod.rs b/src/app_data/mod.rs index e2ed0da..4a415ff 100644 --- a/src/app_data/mod.rs +++ b/src/app_data/mod.rs @@ -87,7 +87,8 @@ impl AppData { } } - // Current time as unix timestamp + /// Current time as unix timestamp + #[allow(clippy::expect_used)] fn get_systemtime(&self) -> u64 { SystemTime::now() .duration_since(UNIX_EPOCH) diff --git a/src/main.rs b/src/main.rs index 30c2141..cb34c34 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,13 @@ +#![forbid(unsafe_code)] +#![warn(clippy::unused_async, clippy::unwrap_used, clippy::expect_used)] +// Wanring - These are indeed pedantic +// #![warn(clippy::pedantic)] +// #![warn(clippy::nursery)] +// #![allow(clippy::module_name_repetitions, clippy::doc_markdown)] + +// Only allow when debugging +// #![allow(unused)] + use app_data::AppData; use app_error::AppError; use bollard::Docker; @@ -35,23 +45,28 @@ async fn main() { let (docker_sx, docker_rx) = tokio::sync::mpsc::channel(16); // Create docker daemon handler, and only spawn up the docker data handler if ping returns non-error - let docker = Arc::new(Docker::connect_with_socket_defaults().unwrap()); - match docker.ping().await { - Ok(_) => { - let docker = Arc::clone(&docker); - let is_running = Arc::clone(&is_running); - tokio::spawn(DockerData::init( - docker_args, - docker_app_data, - docker, - docker_gui_state, - docker_rx, - is_running, - )); + + match Docker::connect_with_socket_defaults() { + Ok(docker) => { + let docker = Arc::new(docker); + match docker.ping().await { + Ok(_) => { + let docker = Arc::clone(&docker); + let is_running = Arc::clone(&is_running); + tokio::spawn(DockerData::init( + docker_args, + docker_app_data, + docker, + docker_gui_state, + docker_rx, + is_running, + )); + } + Err(_) => app_data.lock().set_error(AppError::DockerConnect), + } } Err(_) => app_data.lock().set_error(AppError::DockerConnect), } - let input_app_data = Arc::clone(&app_data); let (input_sx, input_rx) = tokio::sync::mpsc::channel(16); diff --git a/src/ui/color_match.rs b/src/ui/color_match.rs index 58fe50d..cf69f1a 100644 --- a/src/ui/color_match.rs +++ b/src/ui/color_match.rs @@ -24,7 +24,7 @@ pub mod log_sanitizer { if i.reversed.is_some() { style.add_modifier(Modifier::REVERSED); } - if i.intensity == Some(Intensity::Bold) { + if i.intensity == Some(Intensity::Bold) { style.add_modifier(Modifier::BOLD); } if i.hidden.is_some() { diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 8b7504a..71c090a 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -94,9 +94,12 @@ async fn run_app( is_running.store(false, Ordering::SeqCst); break; } - terminal + if terminal .draw(|f| draw_error(f, AppError::DockerConnect, Some(seconds))) - .unwrap(); + .is_err() + { + return Err(AppError::Terminal); + } tokio::time::sleep(std::time::Duration::from_secs(1)).await; seconds -= 1; } @@ -104,7 +107,9 @@ async fn run_app( } else { let mut now = Instant::now(); loop { - terminal.draw(|f| ui(f, &app_data, &gui_state)).unwrap(); + if terminal.draw(|f| ui(f, &app_data, &gui_state)).is_err() { + return Err(AppError::Terminal); + } if crossterm::event::poll(input_poll_rate).unwrap_or_default() { if let Ok(event) = event::read() { if let Event::Key(key) = event {