beginner question: What is the advantage of using cmp::Ordering::Less over “<”, same for Greater and Equals?
Basically,
cmp::Ordering::Lessis an enum so a match using it is guaranteed to be exhaustive, whereas you need to be careful when doing an if/else chain that you cover all cases.I’m guessing you’re asking because you got a clippy lint. Using
Orderingallows you tomatchthe output therefore only callingpartial_ordonce, compared to using an if-else chain which might call it several times. In many/most cases this would probably be compiler optimized anyway but this makes it explicit.What language?(I’m an idiot) If you’re referring to Rust,std::cmp::Orderingis an enum and can be used withPartialOrd/Ordto see how two values compare. The comparison operators basically call yourpartial_ordimplementation. If you can use the operators themselves, use them instead of callingpartial_ordin most cases.In other languages, I don’t know, but I assume in general if you can use the operators, you should (unless you’re interested specifically in their ordering, not whether one is only one of greater than, equal to, or less than another).


