rust/library
Lyndon Brown 169c59ff0f Add some core::cmp::Ordering helpers
...to allow easier greater-than-or-equal-to and less-than-or-equal-to
comparisons, and variant checking without needing to import the enum,
similar to `Option::is_none()` / `Option::is_some()`, in situations where
you are dealing with an `Ordering` value. (Simple `PartialOrd` / `Ord`
based evaluation may not be suitable for all situations).

Prior to Rust 1.42 a greater-than-or-equal-to comparison might be written
either as a match block, or a traditional conditional check like this:

```rust
if cmp == Ordering::Equal || cmp == Ordering::Greater {
    // Do something
}
```

Which requires two instances of `cmp`. Don't forget that while `cmp` here
is very short, it could be something much longer in real use cases.

From Rust 1.42 a nicer alternative is possible:

```rust
if matches!(cmp, Ordering::Equal | Ordering::Greater) {
    // Do something
}
```

The commit adds another alternative which may be even better in some cases:

```rust
if cmp.is_ge() {
    // Do something
}
```

The earlier examples could be cleaner than they are if the variants of
`Ordering` are imported such that `Equal`, `Greater` and `Less` can be
referred to directly, but not everyone will want to do that.

The new solution can shorten lines, help avoid logic mistakes, and avoids
having to import `Ordering` / `Ordering::*`.
2020-12-10 20:32:12 +00:00
..
alloc Rollup merge of #79795 - matklad:unicode-private, r=cramertj 2020-12-09 13:38:22 -08:00
backtrace@af078ecc0b std: Update the backtrace crate submodule 2020-11-20 11:56:07 -08:00
core Add some core::cmp::Ordering helpers 2020-12-10 20:32:12 +00:00
panic_abort Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
panic_unwind Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
proc_macro Auto merge of #79336 - camelid:rename-feature-oibit-to-auto, r=oli-obk 2020-11-25 07:25:19 +00:00
profiler_builtins Fix warning whe building profiler_builtins crate 2020-09-04 15:10:29 +02:00
rtstartup Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
rustc-std-workspace-alloc mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-core mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-std mv std libs to library/ 2020-07-27 19:51:13 -05:00
std Auto merge of #79274 - the8472:probe-eperm, r=nagisa 2020-12-10 03:11:27 +00:00
stdarch@777efaf564 Enable AVX512 *epi64 variants by updating stdarch 2020-11-17 11:50:52 +01:00
term mv std libs to library/ 2020-07-27 19:51:13 -05:00
test Auto merge of #75752 - jakoschiko:test-suite-time, r=m-ou-se 2020-11-29 04:54:20 +00:00
unwind Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00