- Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
A-lintArea: New lintsArea: New lints
Description
What it does
Optimize hashset (and possibly similar HashMap?) usage when the user first uses contains()
to check the non-existence of a value, followed by insertion.
Advantage
- Faster code
- Shorter code
Drawbacks
No response
Example
use std::collections::HashSet; fn main() { let mut vals = HashSet::new(); insert_if(&mut vals, 10); } fn insert_if(set: &mut HashSet<i32>, value: i32) { if !set.contains(&value) { set.insert(value); println!("inserted {value:?}"); } }
Could be written as:
fn insert_if(set: &mut HashSet<i32>, value: i32) { if set.insert(value) { println!("inserted {value:?}"); } }
y21, Centri3, KisaragiEffective and bofh69
Metadata
Metadata
Assignees
Labels
A-lintArea: New lintsArea: New lints