mirror of
https://github.com/bspeice/qadapt
synced 2024-12-22 04:28:09 -05:00
Actually run rustfmt
This commit is contained in:
parent
1832cfb389
commit
508aa05cb9
22
src/lib.rs
22
src/lib.rs
@ -5,41 +5,41 @@
|
||||
//! or code inside an `assert_no_alloc!` macro interacts with the allocator in any way.
|
||||
//! Wanton allocations and unforeseen drops no more - this library lets you focus on
|
||||
//! writing code without worrying if Rust properly managed to inline the variable into the stack.
|
||||
//!
|
||||
//!
|
||||
//! Now, an allocator blowing up in production is a scary thought; that's why QADAPT
|
||||
//! is designed to strip its own code out whenever you're running with a release build.
|
||||
//! Just like the [`debug_assert!` macro](https://doc.rust-lang.org/std/macro.debug_assert.html)
|
||||
//! in Rust's standard library, it's safe to use without worrying about a unforeseen
|
||||
//! circumstance causing your application to crash.
|
||||
//!
|
||||
//!
|
||||
//! # Usage
|
||||
//!
|
||||
//!
|
||||
//! Actually making use of QADAPT is straight-forward. To set up the allocator,
|
||||
//! place the following snippet in either your program binaries (main.rs) or tests:
|
||||
//!
|
||||
//!
|
||||
//! ```rust,ignore
|
||||
//! use qadapt::QADAPT;
|
||||
//!
|
||||
//!
|
||||
//! #[global_allocator]
|
||||
//! static Q: QADAPT = QADAPT;
|
||||
//! ```
|
||||
//!
|
||||
//!
|
||||
//! After that, there are two ways of telling QADAPT that it should trigger a panic:
|
||||
//!
|
||||
//!
|
||||
//! 1. Annotate functions with the `#[no_alloc]` proc macro:
|
||||
//! ```rust,no_run
|
||||
//! use qadapt::no_alloc;
|
||||
//!
|
||||
//!
|
||||
//! #[no_alloc]
|
||||
//! fn do_math() -> u8 {
|
||||
//! 2 + 2
|
||||
//! }
|
||||
//! ```
|
||||
//!
|
||||
//!
|
||||
//! 2. Evaluate expressions with the `assert_no_alloc!` macro
|
||||
//! ```rust,no_run
|
||||
//! use qadapt::assert_no_alloc;
|
||||
//!
|
||||
//!
|
||||
//! fn do_work() {
|
||||
//! // This code is allowed to trigger an allocation
|
||||
//! let b = Box::new(8);
|
||||
@ -119,7 +119,7 @@ pub fn exit_protected() {
|
||||
|
||||
/// Get the result of an expression, guaranteeing that no memory accesses occur
|
||||
/// during its evaluation.
|
||||
///
|
||||
///
|
||||
/// **Warning**: Unexpected behavior may occur when using the `return` keyword.
|
||||
/// Because the macro cleanup logic will not be run, QADAPT may trigger a panic
|
||||
/// in code that was not specifically intended to be allocation-free.
|
||||
|
@ -28,4 +28,3 @@ fn early_return_boxing() {
|
||||
panic!("Intentional")
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user