#optimization #unreachable #debugging #fork #macro #intrinsics #debug-unreachable

no-std new_debug_unreachable

panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)

6 stable releases

new 1.0.6 Mar 15, 2024
1.0.4 Dec 30, 2019
1.0.3 Feb 26, 2019
1.0.1 Jun 3, 2018

#66 in Rust patterns

Download history 282043/week @ 2023-11-27 276256/week @ 2023-12-04 263307/week @ 2023-12-11 244393/week @ 2023-12-18 159310/week @ 2023-12-25 219376/week @ 2024-01-01 263307/week @ 2024-01-08 274746/week @ 2024-01-15 276505/week @ 2024-01-22 299826/week @ 2024-01-29 301648/week @ 2024-02-05 300066/week @ 2024-02-12 286817/week @ 2024-02-19 308192/week @ 2024-02-26 307545/week @ 2024-03-04 137373/week @ 2024-03-11

1,061,848 downloads per month
Used in 2,171 crates (12 directly)

MIT license

4KB

new_debug_unreachable

unreachable!() in debug, std::intrinsics::unreachable() in release.

This is a fork of debug_unreachable.

Documentation

Usage

Use the crates.io repository; add this to your Cargo.toml along with the rest of your dependencies:

[dependencies]
new_debug_unreachable = "1.0"

In your Rust code, the library name is still debug_unreachable:

use debug_unreachable::debug_unreachable;

fn main() {
    if 0 > 100 {
        // Can't happen!
        unsafe { debug_unreachable!() }
    } else {
        println!("Good, 0 <= 100.");
    }
}

Author

Jonathan Reem is the original author of debug-unreachable.

Matt Brubeck is the maintainer of this fork.

License

MIT


lib.rs:

panic!() in debug builds, optimization hint in release.

No runtime deps