From 78a758bfba065d42d97d5136a0ee4bd39ba1e3c8 Mon Sep 17 00:00:00 2001 From: Ashley Date: Mon, 25 Nov 2019 11:43:26 +0100 Subject: [PATCH] Rewrite `elected_edges.sort_unstable_by` in phragmen (#4195) * Rewrite phragmen elected_edges.sort_unstable_by * map -> and_then --- substrate/primitives/phragmen/src/mock.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/substrate/primitives/phragmen/src/mock.rs b/substrate/primitives/phragmen/src/mock.rs index a0ab23db34..fdd218f4f4 100644 --- a/substrate/primitives/phragmen/src/mock.rs +++ b/substrate/primitives/phragmen/src/mock.rs @@ -274,17 +274,10 @@ pub(crate) fn do_equalize_float( e.1 = 0.0; }); - // todo: rewrite. elected_edges.sort_unstable_by(|x, y| - if let Some(x) = support_map.get(&x.0) { - if let Some(y) = support_map.get(&y.0) { - x.total.partial_cmp(&y.total).unwrap_or(rstd::cmp::Ordering::Equal) - } else { - rstd::cmp::Ordering::Equal - } - } else { - rstd::cmp::Ordering::Equal - } + support_map.get(&x.0) + .and_then(|x| support_map.get(&y.0).and_then(|y| x.total.partial_cmp(&y.total))) + .unwrap_or(rstd::cmp::Ordering::Equal) ); let mut cumulative_stake = 0.0;