Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
36
third-party/vendor/new_debug_unreachable/src/lib.rs
vendored
Normal file
36
third-party/vendor/new_debug_unreachable/src/lib.rs
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#![deny(missing_docs, warnings)]
|
||||
|
||||
#![no_std]
|
||||
|
||||
//! `panic!()` in debug builds, optimization hint in release.
|
||||
|
||||
#[doc(hidden)] pub mod _internal { pub use core::hint::unreachable_unchecked; }
|
||||
|
||||
#[macro_export]
|
||||
/// `panic!()` in debug builds, optimization hint in release.
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```
|
||||
/// use debug_unreachable::debug_unreachable;
|
||||
///
|
||||
/// fn main() {
|
||||
/// if 0 > 100 {
|
||||
/// // Can't happen!
|
||||
/// unsafe { debug_unreachable!() }
|
||||
/// } else {
|
||||
/// println!("Good, 0 <= 100.");
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
macro_rules! debug_unreachable {
|
||||
() => { debug_unreachable!("entered unreachable code") };
|
||||
($e:expr) => {
|
||||
if cfg!(debug_assertions) {
|
||||
panic!($e)
|
||||
} else {
|
||||
$crate::_internal::unreachable_unchecked()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue