Expand description
Helping you make your programs less safe.
You can learn more about plutonium
at the Rust Security Advisory Database.
§Usage
Add plutonium
to your Cargo.toml
:
[dependencies]
plutonium = "*"
and go:
use plutonium::safe;
#[safe]
fn super_safe(x: f32) -> i32 {
std::mem::transmute::<f32, i32>(x)
}
#[safe]
unsafe fn deref_null() {
*std::ptr::null::<u8>();
}
println!("{:?}", super_safe(1.0));
deref_null();
§Roadmap:
- Disable
#![forbid(unsafe_code)]
- Add
#![forbid(safe_code)]
proc-macro lint
Macros§
- optimize
- Apply extreme optimizations to your code (requires Rust 1.45 or later).