Skip to content

Commit f7f7b71

Browse files
authored
Merge pull request #12 from coriolinus/cleanup
Cleanup
2 parents 6f3ea66 + db3dd8e commit f7f7b71

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
[package]
22
name = "counter"
3-
version = "0.5.0"
3+
version = "0.5.1"
44
authors = ["Peter Goodspeed-Niklaus <[email protected]>"]
55
description = "Simple package to count generic iterables"
66
repository = "https://github.com/coriolinus/counter-rs"
77
documentation = "https://docs.rs/counter"
88
readme = "README.md"
99
keywords = ["count"]
1010
license = "MIT"
11+
edition = "2018"
1112

1213
[dependencies]
1314
num-traits = "0.2"

src/lib.rs

+15-22
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,6 @@
144144
//! assert!(counter.into_map() == expected);
145145
//! ```
146146
147-
#[cfg(test)]
148-
#[macro_use]
149-
extern crate maplit;
150-
151-
extern crate num_traits;
152147
use num_traits::{One, Zero};
153148

154149
use std::borrow::Borrow;
@@ -195,7 +190,7 @@ where
195190
I: IntoIterator<Item = T>,
196191
{
197192
for item in iterable.into_iter() {
198-
let entry = self.map.entry(item).or_insert(N::zero());
193+
let entry = self.map.entry(item).or_insert_with(N::zero);
199194
*entry += N::one();
200195
}
201196
}
@@ -284,7 +279,7 @@ where
284279
items.sort_by(|&(ref a_item, ref a_count), &(ref b_item, ref b_count)| {
285280
match b_count.cmp(&a_count) {
286281
Ordering::Equal => tiebreaker(&a_item, &b_item),
287-
unequal @ _ => unequal,
282+
unequal => unequal,
288283
}
289284
});
290285
items
@@ -334,7 +329,7 @@ where
334329
/// ```
335330
fn add_assign(&mut self, rhs: Self) {
336331
for (key, value) in rhs.map.iter() {
337-
let entry = self.map.entry(key.clone()).or_insert(N::zero());
332+
let entry = self.map.entry(key.clone()).or_insert_with(N::zero);
338333
*entry += value.clone();
339334
}
340335
}
@@ -362,10 +357,9 @@ where
362357
/// let expect = [('a', 4), ('b', 3)].iter().cloned().collect::<HashMap<_, _>>();
363358
/// assert_eq!(e.into_map(), expect);
364359
/// ```
365-
fn add(self, rhs: Counter<T, N>) -> Self::Output {
366-
let mut counter = self.clone();
367-
counter += rhs;
368-
counter
360+
fn add(mut self, rhs: Counter<T, N>) -> Self::Output {
361+
self += rhs;
362+
self
369363
}
370364
}
371365

@@ -503,15 +497,14 @@ where
503497
/// let expect = [('a', 3), ('b', 2)].iter().cloned().collect::<HashMap<_, _>>();
504498
/// assert_eq!(e.into_map(), expect);
505499
/// ```
506-
fn bitor(self, rhs: Counter<T, N>) -> Self::Output {
500+
fn bitor(mut self, rhs: Counter<T, N>) -> Self::Output {
507501
use std::cmp::max;
508502

509-
let mut counter = self.clone();
510503
for (key, value) in rhs.map.iter() {
511-
let entry = counter.map.entry(key.clone()).or_insert(N::zero());
504+
let entry = self.map.entry(key.clone()).or_insert_with(N::zero);
512505
*entry = max(&*entry, value).clone();
513506
}
514-
counter
507+
self
515508
}
516509
}
517510

@@ -694,10 +687,9 @@ where
694687
/// let expect = [('a', 2)].iter().cloned().collect::<HashMap<_, _>>();
695688
/// assert_eq!(e.into_map(), expect);
696689
/// ```
697-
fn sub(self, rhs: I) -> Self::Output {
698-
let mut ctr = self.clone();
699-
ctr.subtract(rhs);
700-
ctr
690+
fn sub(mut self, rhs: I) -> Self::Output {
691+
self.subtract(rhs);
692+
self
701693
}
702694
}
703695

@@ -742,7 +734,7 @@ where
742734
fn from_iter<I: IntoIterator<Item = (T, N)>>(iter: I) -> Self {
743735
let mut cnt = Counter::new();
744736
for (item, item_count) in iter.into_iter() {
745-
let entry = cnt.map.entry(item).or_insert(N::zero());
737+
let entry = cnt.map.entry(item).or_insert_with(N::zero);
746738
*entry += item_count;
747739
}
748740
cnt
@@ -751,6 +743,7 @@ where
751743

752744
#[cfg(test)]
753745
mod tests {
746+
use maplit::hashmap;
754747
use super::*;
755748
use std::collections::HashMap;
756749

@@ -994,7 +987,7 @@ mod tests {
994987

995988
impl Inty {
996989
pub fn new(i: usize) -> Inty {
997-
Inty { i: i }
990+
Inty { i }
998991
}
999992
}
1000993

0 commit comments

Comments
 (0)