diff options
| -rw-r--r-- | cli/src/main.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/cli/src/main.rs b/cli/src/main.rs index 7d25b50..677ba1e 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -154,17 +154,18 @@ fn main() { } } -fn sort_by_func(sort: &SortTarget) -> impl 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: &Transaction, t2: &Transaction| t1.amount.cmp(&t2.amount), - SortTarget::Date => |t1: &Transaction, t2: &Transaction| t1.date.cmp(&t2.date), + SortTarget::Amount => |t1, t2| t1.amount.cmp(&t2.amount), + SortTarget::Date => |t1, t2| t1.date.cmp(&t2.date), } } -fn inner_sort_by<F, T>(v: &mut [T], mut outer_cmp: F, mut inner_cmp: F) -where - F: FnMut(&T, &T) -> std::cmp::Ordering, -{ +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>, +) { // Early out if v.len() < 2 { return; |
