beginner question: What is the advantage of using cmp::Ordering::Less over “<”, same for Greater and Equals?

  • luminasapphira@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    6 months ago

    I’m guessing you’re asking because you got a clippy lint. Using Ordering allows you to match the output therefore only calling partial_ord once, 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.

  • TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 months ago

    What language? (I’m an idiot) If you’re referring to Rust, std::cmp::Ordering is an enum and can be used withPartialOrd/Ord to see how two values compare. The comparison operators basically call your partial_ord implementation. If you can use the operators themselves, use them instead of calling partial_ord in 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).