From e6379982f17acedf964eaccd1c099da311e58bb3 Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Mon, 18 May 2020 23:34:50 -0400 Subject: [PATCH] refactor: reduce unchecked type conversions to usize --- src/app.rs | 22 +++++++++++----------- src/app/states.rs | 4 ++-- src/canvas/canvas_colours.rs | 4 ++-- src/canvas/canvas_colours/colour_utils.rs | 2 +- src/canvas/drawing_utils.rs | 6 +++--- src/canvas/widgets/basic_table_arrows.rs | 5 ++--- src/canvas/widgets/battery_display.rs | 3 ++- src/canvas/widgets/cpu_basic.rs | 7 +++---- src/canvas/widgets/cpu_graph.rs | 11 +++++------ src/canvas/widgets/disk_table.rs | 6 +++--- src/canvas/widgets/mem_basic.rs | 2 +- src/canvas/widgets/process_table.rs | 13 ++++++------- src/canvas/widgets/temp_table.rs | 6 +++--- src/constants.rs | 2 +- src/main.rs | 10 ++-------- 15 files changed, 47 insertions(+), 56 deletions(-) diff --git a/src/app.rs b/src/app.rs index 809715d4..e61c9792 100644 --- a/src/app.rs +++ b/src/app.rs @@ -713,12 +713,12 @@ impl App { .get(&self.current_widget.widget_id) { if proc_widget_state.scroll_state.current_scroll_position - < corresponding_filtered_process_list.len() as u64 + < corresponding_filtered_process_list.len() { let current_process: (String, Vec); if self.is_grouped(self.current_widget.widget_id) { if let Some(process) = &corresponding_filtered_process_list - .get(proc_widget_state.scroll_state.current_scroll_position as usize) + .get(proc_widget_state.scroll_state.current_scroll_position) { current_process = (process.name.to_string(), process.group_pids.clone()) } else { @@ -726,7 +726,7 @@ impl App { } } else { let process = corresponding_filtered_process_list - [proc_widget_state.scroll_state.current_scroll_position as usize] + [proc_widget_state.scroll_state.current_scroll_position] .clone(); current_process = (process.name.clone(), vec![process.pid]) }; @@ -1455,7 +1455,7 @@ impl App { { if !self.canvas_data.finalized_process_data_map.is_empty() { proc_widget_state.scroll_state.current_scroll_position = - finalized_process_data.len() as u64 - 1; + finalized_process_data.len() - 1; proc_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } @@ -1470,7 +1470,7 @@ impl App { { if !self.canvas_data.temp_sensor_data.is_empty() { temp_widget_state.scroll_state.current_scroll_position = - self.canvas_data.temp_sensor_data.len() as u64 - 1; + self.canvas_data.temp_sensor_data.len() - 1; temp_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } } @@ -1483,7 +1483,7 @@ impl App { { if !self.canvas_data.disk_data.is_empty() { disk_widget_state.scroll_state.current_scroll_position = - self.canvas_data.disk_data.len() as u64 - 1; + self.canvas_data.disk_data.len() - 1; disk_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; } } @@ -1494,7 +1494,7 @@ impl App { .widget_states .get_mut(&(self.current_widget.widget_id - 1)) { - let cap = self.canvas_data.cpu_data.len() as u64; + let cap = self.canvas_data.cpu_data.len(); if cap > 0 { cpu_widget_state.scroll_state.current_scroll_position = cap - 1; cpu_widget_state.scroll_state.scroll_direction = ScrollDirection::DOWN; @@ -1550,7 +1550,7 @@ impl App { && current_posn as i64 + num_to_change_by < cap as i64 { cpu_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { @@ -1578,7 +1578,7 @@ impl App { && current_posn as i64 + num_to_change_by < finalized_process_data.len() as i64 { proc_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } } @@ -1603,7 +1603,7 @@ impl App { < self.canvas_data.temp_sensor_data.len() as i64 { temp_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { @@ -1626,7 +1626,7 @@ impl App { && current_posn as i64 + num_to_change_by < self.canvas_data.disk_data.len() as i64 { disk_widget_state.scroll_state.current_scroll_position = - (current_posn as i64 + num_to_change_by) as u64; + (current_posn as i64 + num_to_change_by) as usize; } if num_to_change_by < 0 { diff --git a/src/app/states.rs b/src/app/states.rs index dd4be9b8..b5e97ae4 100644 --- a/src/app/states.rs +++ b/src/app/states.rs @@ -33,8 +33,8 @@ pub enum CursorDirection { /// AppScrollWidgetState deals with fields for a scrollable app's current state. #[derive(Default)] pub struct AppScrollWidgetState { - pub current_scroll_position: u64, - pub previous_scroll_position: u64, + pub current_scroll_position: usize, + pub previous_scroll_position: usize, pub scroll_direction: ScrollDirection, pub table_state: TableState, } diff --git a/src/canvas/canvas_colours.rs b/src/canvas/canvas_colours.rs index 714a1145..d7724568 100644 --- a/src/canvas/canvas_colours.rs +++ b/src/canvas/canvas_colours.rs @@ -130,7 +130,7 @@ impl CanvasColours { } pub fn set_cpu_colours(&mut self, colours: &[String]) -> error::Result<()> { - let max_amount = std::cmp::min(colours.len(), NUM_COLOURS as usize); + let max_amount = std::cmp::min(colours.len(), NUM_COLOURS); for (itx, colour) in colours.iter().enumerate() { if itx >= max_amount { break; @@ -141,7 +141,7 @@ impl CanvasColours { } pub fn generate_remaining_cpu_colours(&mut self) { - let remaining_num_colours = NUM_COLOURS - self.cpu_colour_styles.len() as i32; + let remaining_num_colours = NUM_COLOURS.saturating_sub(self.cpu_colour_styles.len()); self.cpu_colour_styles .extend(gen_n_styles(remaining_num_colours)); } diff --git a/src/canvas/canvas_colours/colour_utils.rs b/src/canvas/canvas_colours/colour_utils.rs index 119b6be3..8b2f0594 100644 --- a/src/canvas/canvas_colours/colour_utils.rs +++ b/src/canvas/canvas_colours/colour_utils.rs @@ -42,7 +42,7 @@ lazy_static! { /// Generates random colours. Strategy found from /// https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/ -pub fn gen_n_styles(num_to_gen: i32) -> Vec