[−][src]Crate plutonium
Helping you make your programs less safe.
Usage
Add plutonium
to your Cargo.toml
:
[dependencies]
plutonium = "*"
and start calling your "safe" functions:
use plutonium::*; fn main() { let x = super_safe(1.0); println!("{:?}", x); deref_null(); } #[safe] fn super_safe(x: f32) -> i32 { std::mem::transmute::<f32, i32>(x) } #[safe] unsafe fn deref_null() { let p = &mut 0 as *mut i32; println!("{}", *p); }
Roadmap:
- Disable
#![forbid(unsafe_code)]
- Add
#![forbid(safe_code)]
proc-macro lint
Attribute Macros
safe | Turn unsafe code into "safe" code. |