Revert "Add debug_assert_matches macro."
This reverts commit 0a8e401188
.
This commit is contained in:
parent
fa332b0245
commit
1406d06104
|
@ -208,42 +208,6 @@ macro_rules! debug_assert_ne {
|
||||||
($($arg:tt)*) => (if $crate::cfg!(debug_assertions) { $crate::assert_ne!($($arg)*); })
|
($($arg:tt)*) => (if $crate::cfg!(debug_assertions) { $crate::assert_ne!($($arg)*); })
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Asserts that an expression matches any of the given patterns.
|
|
||||||
///
|
|
||||||
/// Like in a `match` expression, the pattern can be optionally followed by `if`
|
|
||||||
/// and a guard expression that has access to names bound by the pattern.
|
|
||||||
///
|
|
||||||
/// On panic, this macro will print the value of the expression with its
|
|
||||||
/// debug representation.
|
|
||||||
///
|
|
||||||
/// Unlike [`assert_matches!`], `debug_assert_matches!` statements are only
|
|
||||||
/// enabled in non optimized builds by default. An optimized build will not
|
|
||||||
/// execute `debug_assert_matches!` statements unless `-C debug-assertions` is
|
|
||||||
/// passed to the compiler. This makes `debug_assert_matches!` useful for
|
|
||||||
/// checks that are too expensive to be present in a release build but may be
|
|
||||||
/// helpful during development. The result of expanding `debug_assert_matches!`
|
|
||||||
/// is always type checked.
|
|
||||||
///
|
|
||||||
/// # Examples
|
|
||||||
///
|
|
||||||
/// ```
|
|
||||||
/// #![feature(assert_matches)]
|
|
||||||
///
|
|
||||||
/// let a = 1u32.checked_add(2);
|
|
||||||
/// let b = 1u32.checked_sub(2);
|
|
||||||
/// debug_assert_matches!(a, Some(_));
|
|
||||||
/// debug_assert_matches!(b, None);
|
|
||||||
///
|
|
||||||
/// let c = Ok("abc".to_string());
|
|
||||||
/// debug_assert_matches!(c, Ok(x) | Err(x) if x.len() < 100);
|
|
||||||
/// ```
|
|
||||||
#[macro_export]
|
|
||||||
#[unstable(feature = "assert_matches", issue = "82775")]
|
|
||||||
#[allow_internal_unstable(assert_matches)]
|
|
||||||
macro_rules! debug_assert_matches {
|
|
||||||
($($arg:tt)*) => (if $crate::cfg!(debug_assertions) { $crate::assert_matches!($($arg)*); })
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns whether the given expression matches any of the given patterns.
|
/// Returns whether the given expression matches any of the given patterns.
|
||||||
///
|
///
|
||||||
/// Like in a `match` expression, the pattern can be optionally followed by `if`
|
/// Like in a `match` expression, the pattern can be optionally followed by `if`
|
||||||
|
|
|
@ -558,8 +558,8 @@ pub use std_detect::detect;
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[allow(deprecated, deprecated_in_future)]
|
#[allow(deprecated, deprecated_in_future)]
|
||||||
pub use core::{
|
pub use core::{
|
||||||
assert_eq, assert_ne, debug_assert, debug_assert_eq, debug_assert_matches, debug_assert_ne,
|
assert_eq, assert_ne, debug_assert, debug_assert_eq, debug_assert_ne, matches, r#try, todo,
|
||||||
matches, r#try, todo, unimplemented, unreachable, write, writeln,
|
unimplemented, unreachable, write, writeln,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Re-export built-in macros defined through libcore.
|
// Re-export built-in macros defined through libcore.
|
||||||
|
|
Loading…
Reference in New Issue