Add unstable const_ordering feature, and some tests.

This commit is contained in:
CDirkx 2020-08-30 19:40:00 +02:00
parent 6b0d44e92a
commit 5fac991bf6
3 changed files with 20 additions and 0 deletions

View file

@ -356,6 +356,7 @@ impl Ordering {
/// ```
#[inline]
#[must_use]
#[rustc_const_unstable(feature = "const_ordering", issue = "76113")]
#[stable(feature = "rust1", since = "1.0.0")]
pub const fn reverse(self) -> Ordering {
match self {
@ -394,6 +395,7 @@ impl Ordering {
/// ```
#[inline]
#[must_use]
#[rustc_const_unstable(feature = "const_ordering", issue = "76113")]
#[stable(feature = "ordering_chaining", since = "1.17.0")]
pub const fn then(self, other: Ordering) -> Ordering {
match self {

View file

@ -86,6 +86,7 @@
#![feature(const_ptr_offset_from)]
#![feature(const_raw_ptr_comparison)]
#![feature(const_result)]
#![feature(const_ordering)]
#![feature(const_slice_from_raw_parts)]
#![feature(const_slice_ptr_len)]
#![feature(const_size_of_val)]

View file

@ -0,0 +1,17 @@
// run-pass
#![feature(const_ordering)]
use std::cmp::Ordering;
// the following methods of core::cmp::Ordering are const:
// - reverse
// - then
fn main() {
const REVERSE : Ordering = Ordering::Greater.reverse();
assert_eq!(REVERSE, Ordering::Less);
const THEN : Ordering = Ordering::Equal.then(REVERSE);
assert_eq!(THEN, Ordering::Less);
}