From b74a2640c2f3d7d6d63abd6e79fe7240aca24dcb Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Fri, 1 Sep 2017 23:14:47 +0200 Subject: [PATCH] Clippy fixes --- .../src/implementation/file_system_tree.rs | 8 +-- demo/rust/src/implementation/processes.rs | 50 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/demo/rust/src/implementation/file_system_tree.rs b/demo/rust/src/implementation/file_system_tree.rs index c9b2cf7..979ccc4 100644 --- a/demo/rust/src/implementation/file_system_tree.rs +++ b/demo/rust/src/implementation/file_system_tree.rs @@ -125,7 +125,7 @@ where parent: None, row: 0, children: None, - data: T::create(&path), + data: T::create(path), }; self.entries.push(root); } @@ -158,7 +158,7 @@ where children.push(self.entries.len() + r); new_entries.push(e); } - if new_entries.len() > 0 { + if !new_entries.is_empty() { self.model.begin_insert_rows( Some(id), 0, @@ -167,7 +167,7 @@ where } } self.entries[id].children = Some(children); - if new_entries.len() > 0 { + if !new_entries.is_empty() { self.entries.append(&mut new_entries); self.model.end_insert_rows(); } @@ -231,7 +231,7 @@ where } } fn row_count(&self, item: Option) -> usize { - if self.entries.len() == 0 { + if self.entries.is_empty() { return 0; } if let Some(i) = item { diff --git a/demo/rust/src/implementation/processes.rs b/demo/rust/src/implementation/processes.rs index 9037e89..0f4b6ff 100644 --- a/demo/rust/src/implementation/processes.rs +++ b/demo/rust/src/implementation/processes.rs @@ -66,9 +66,9 @@ fn collect_processes( } // reconstruct process hierarchy -fn handle_tasks(mut processes: &mut HashMap) -> Vec { +fn handle_tasks(processes: &mut HashMap) -> Vec { let mut top = Vec::new(); - let pids: Vec = processes.keys().map(|p| *p).collect(); + let pids: Vec = processes.keys().cloned().collect(); for pid in pids { if let Some(parent) = processes[&pid].process.parent { let p = processes.get_mut(&parent).unwrap(); @@ -80,13 +80,11 @@ fn handle_tasks(mut processes: &mut HashMap) -> Vec { top } -fn update_rows(list: Vec, mut processes: &mut HashMap) { - let mut row = 0; - for pid in list { - processes.get_mut(&pid).unwrap().row = row; - let l = processes[&pid].tasks.clone(); - update_rows(l, processes); - row += 1; +fn update_rows(list: &[pid_t], processes: &mut HashMap) { + for (row, pid) in list.iter().enumerate() { + processes.get_mut(pid).unwrap().row = row; + let l = processes[pid].tasks.clone(); + update_rows(&l, processes); } } @@ -95,7 +93,7 @@ fn sort_tasks(p: &mut ProcessTree) { process.tasks.sort(); } p.top.sort(); - update_rows(p.top.clone(), &mut p.processes); + update_rows(&p.top, &mut p.processes); } fn update() -> ProcessTree { @@ -118,18 +116,19 @@ fn update_thread( ) { thread::spawn(move || { loop { - let mut timeout = Duration::from_secs(10000); - if active { + let timeout = if active { *incoming.lock().unwrap() = Some(update()); emit.new_data_ready(None); - timeout = Duration::from_secs(1); - } + Duration::from_secs(1) + } else { + Duration::from_secs(10_000) + }; match status_channel.recv_timeout(timeout) { Err(RecvTimeoutError::Timeout) => {}, - Err(RecvTimeoutError::Disconnected) => { return; }, + Err(RecvTimeoutError::Disconnected) + | Ok(ChangeState::Quit) => { return; }, Ok(ChangeState::Active) => { active = true; }, Ok(ChangeState::Inactive) => { active = false; }, - Ok(ChangeState::Quit) => { return; }, } } }); @@ -176,7 +175,7 @@ fn remove_row( model.begin_remove_rows(Some(parent as usize), row, row); map.remove(&pid); let len = { - let ref mut tasks = map.get_mut(&parent).unwrap().tasks; + let tasks = &mut map.get_mut(&parent).unwrap().tasks; tasks.remove(row); tasks.len() }; @@ -204,7 +203,7 @@ fn insert_row( model.begin_insert_rows(Some(parent as usize), row, row); move_process(pid, map, source); let len = { - let ref mut tasks = map.get_mut(&parent).unwrap().tasks; + let tasks = &mut map.get_mut(&parent).unwrap().tasks; tasks.insert(row, pid); tasks.len() }; @@ -215,13 +214,16 @@ fn insert_row( model.end_insert_rows(); } +fn cmp_f32(a: f32, b: f32) -> bool { + ((a - b) / a).abs() < 0.01 +} + fn sync_row(model: &ProcessesUniformTree, pid: pid_t, a: &mut Process, b: &Process) -> f32 { - let mut changed = false; - if a.name != b.name { + let mut changed = a.name != b.name; + if changed { a.name.clone_from(&b.name); - changed = true; } - if a.cpu_usage != b.cpu_usage { + if !cmp_f32(a.cpu_usage, b.cpu_usage) { a.cpu_usage = b.cpu_usage; changed = true; } @@ -292,7 +294,7 @@ fn sync_tree( remove_row(model, parent, a, amap); alen -= 1; } - if cpu_total != bmap[&parent].process.cpu_usage { + if !cmp_f32(cpu_total, bmap[&parent].process.cpu_usage) { amap.get_mut(&parent).unwrap().process.cpu_usage = cpu_total; model.data_changed(parent as usize, parent as usize); } @@ -355,7 +357,7 @@ impl ProcessesTrait for Processes { }; if let Some(mut new) = new { // alert! at the top level, only adding is supported! - if self.p.top.len() == 0 { + if self.p.top.is_empty() { self.model.begin_reset_model(); self.p = new; self.model.end_reset_model();