Easy self-deleting executables.
Simply register a guard (either soft
or hard
) in the program entrypoint, and have it be dropped to delete the binary.
```rust
fn main() {
let _mortem = mortem::hard(); // register mortem guard
// some code
println!("Hello!")
// _mortem drops and executable is deleted
} ```
soft
and hard
?The soft
handler exits on IO errors and only tries to delete the executable once;
the hard
handler keeps trying till the executable is successfully deleted.
This is explained in further details in the documentation.
See the examples directory or documentation.