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).