abort-nostd

Crates.ioabort-nostd
lib.rsabort-nostd
version0.1.0
sourcesrc
created_at2024-05-20 02:08:00.739772
updated_at2024-05-20 02:08:00.739772
descriptionAn abort function that doesn't require the standard library
homepage
repositoryhttps://github.com/Techcable/abort-nostd.rust
max_upload_size
id1245347
size17,070
(Techcable)

documentation

README

abort-nostd Latest Version

An implementation of the abort function that works without the standard library.

Provides an AbortGuard type to abort the process unless explicitly "defused". This can prevent panics from unwinding in the middle of unsafe code, which trivially makes the code exception safe.

Available implementations

The library offers multiple possible implementations, which can be controlled by using feature flags.

  1. Using the Rust standard library std::process::abort function. This is enabled by using the "std" feature (disabled by default).

  2. Using the C standard library abort function from the libc crate. This requires linking against the C standard library, but not the Rust one. This is enabled by using the "libc" feature (disabled by default).

  3. If the panic! implementation is known to abort instead of unwinding, then the abort function simply triggers a panic. This requires a recent version of Rust (1.60) in order to detect whether panics unwind or abort.

  4. If no other implementations are available,

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 6

cargo fmt