Function comparator::as_fn

source ·
pub fn as_fn<T>(comparator: impl Comparator<T>) -> impl Fn(&T, &T) -> Ordering
Expand description

Convert a comparator to a comparator function.

This is not a member function, as in stable Rust it’s not possible to implement Fn trait manually, forcing usage of impl Trait return type. Currently it is not allowed for trait methods to return impl Traits.

Examples

use comparator::{as_fn, reverse_order};
let mut v = [5, 4, 1, 3, 2];
v.sort_by(as_fn(reverse_order()));
assert_eq!(v, [5, 4, 3, 2, 1]);