[drop_code]
(A macro that allows you to implement code that will be automatically executed after the function code has finished, be it the end of the function or even a panic state.)
Add this to your Cargo.toml:
[dependencies]
drop_code = "1.0.1"
and this to your source code:
use drop_code::drop_code;
The drop_code macro generates a hidden structure and defines the code for the Drop trait, the user can pass any data to the structure to create more complex code. The Drop trait mechanism ensures that critical operations are executed when an object is destroyed, making it easier to reliably handle important code in Rust applications, but note that the order of code execution is determined by Rust's rules and conventions. Note that this code is executed even during a panic, but only if you have not disabled stack unwinding.
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
}
This project has a single license (LICENSE-APACHE-2.0).