diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-07-31 21:27:48 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-07-31 21:27:48 +0200 |
| commit | c04bf490e989b17c2427d94f1d05cf57ebc1d846 (patch) | |
| tree | 86227a1c52d69b228014ab64474880e952a6a3ca | |
| parent | c5ae93a7ac10a1b7e8fc81418bbc788edc943f83 (diff) | |
| download | money-c04bf490e989b17c2427d94f1d05cf57ebc1d846.tar.gz | |
working sort_by_func
| -rw-r--r-- | cli/src/main.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/cli/src/main.rs b/cli/src/main.rs index 677ba1e..7e1b80f 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -154,17 +154,17 @@ fn main() { } } -fn sort_by_func(sort: &SortTarget) -> Box<dyn FnMut(&Transaction, &Transaction) -> std::cmp::Ordering> { +fn sort_by_func(sort: &SortTarget) -> Box<dyn FnMut(&&Transaction, &&Transaction) -> std::cmp::Ordering> { match sort { - SortTarget::Amount => |t1, t2| t1.amount.cmp(&t2.amount), - SortTarget::Date => |t1, t2| t1.date.cmp(&t2.date), + SortTarget::Amount => Box::new(|t1: &&Transaction, t2: &&Transaction| t1.amount.cmp(&t2.amount)), + SortTarget::Date => Box::new(|t1: &&Transaction, t2: &&Transaction| t1.date.cmp(&t2.date)), } } -fn inner_sort_by( - v: &mut [Transaction], - mut outer_cmp: Box<dyn FnMut(&Transaction, &Transaction) -> std::cmp::Ordering>, - mut inner_cmp: Box<dyn FnMut(&Transaction, &Transaction) -> std::cmp::Ordering>, +fn inner_sort_by<T>( + v: &mut [T], + mut outer_cmp: Box<dyn FnMut(&T, &T) -> std::cmp::Ordering>, + mut inner_cmp: Box<dyn FnMut(&T, &T) -> std::cmp::Ordering>, ) { // Early out if v.len() < 2 { |
