Add unstable const_ordering
feature, and some tests.
This commit is contained in:
parent
6b0d44e92a
commit
5fac991bf6
3 changed files with 20 additions and 0 deletions
|
@ -356,6 +356,7 @@ impl Ordering {
|
||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
#[rustc_const_unstable(feature = "const_ordering", issue = "76113")]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub const fn reverse(self) -> Ordering {
|
pub const fn reverse(self) -> Ordering {
|
||||||
match self {
|
match self {
|
||||||
|
@ -394,6 +395,7 @@ impl Ordering {
|
||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
#[rustc_const_unstable(feature = "const_ordering", issue = "76113")]
|
||||||
#[stable(feature = "ordering_chaining", since = "1.17.0")]
|
#[stable(feature = "ordering_chaining", since = "1.17.0")]
|
||||||
pub const fn then(self, other: Ordering) -> Ordering {
|
pub const fn then(self, other: Ordering) -> Ordering {
|
||||||
match self {
|
match self {
|
||||||
|
|
|
@ -86,6 +86,7 @@
|
||||||
#![feature(const_ptr_offset_from)]
|
#![feature(const_ptr_offset_from)]
|
||||||
#![feature(const_raw_ptr_comparison)]
|
#![feature(const_raw_ptr_comparison)]
|
||||||
#![feature(const_result)]
|
#![feature(const_result)]
|
||||||
|
#![feature(const_ordering)]
|
||||||
#![feature(const_slice_from_raw_parts)]
|
#![feature(const_slice_from_raw_parts)]
|
||||||
#![feature(const_slice_ptr_len)]
|
#![feature(const_slice_ptr_len)]
|
||||||
#![feature(const_size_of_val)]
|
#![feature(const_size_of_val)]
|
||||||
|
|
17
src/test/ui/consts/const-ordering.rs
Normal file
17
src/test/ui/consts/const-ordering.rs
Normal 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);
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue