Crates.io | drop_code |
lib.rs | drop_code |
version | 1.0.0 |
source | src |
created_at | 2024-04-07 22:54:01.808974 |
updated_at | 2024-04-07 22:54:01.808974 |
description | Macro for ensuring critical code execution on function return or panics in Rust, making it easy to include essential code for reliable operation. |
homepage | https://github.com/clucompany/drop_code.git |
repository | https://github.com/clucompany/drop_code.git |
max_upload_size | |
id | 1199593 |
size | 51,453 |
[drop_code]
(Macro for ensuring critical code execution on function return or panics in Rust, making it easy to include essential code for reliable operation.)
Add this to your Cargo.toml:
[dependencies]
drop_code = "1.0.0"
and this to your source code:
use drop_code::drop_code;
The drop_code macro generates the drop function code for the Drop trait in Rust, creating a hidden structure that encapsulates user-supplied arguments from the macro and ensuring their transfer. This mechanism guarantees the execution of critical operations when the object is destroyed, facilitating reliable handling of essential code within Rust applications, with the order of code execution dictated by Rust's rules and conventions.
use drop_code::drop_code;
#[allow(unreachable_code)]
fn main() {
drop_code! {
println!("Code that must be executed in any situation."); // 3
}
println!("your code"); // 1
panic!("panic info"); // 2
}
See all
This project has a single license (LICENSE-APACHE-2.0).