Trait safety_breaker::ForceMut[][src]

pub trait ForceMut {
    unsafe fn forcemut<'a>(&'a self) -> &'a mut Self;
}

Add forcemut() method for all types.

Example

use safety_breaker::ForceMut;

fn main() {
    let a = String::from("Hello, Rustaceans!"); //not mutable
    println!("{}", &a); //Hello, Rustaceans!
    unsafe {
        let b = a.forcemut(); //b is mutable reference
        *b = String::from("Hello, unsafe!");
        println!("{}", &a); //Hello, unsafe!
    }
}

Required methods

unsafe fn forcemut<'a>(&'a self) -> &'a mut Self[src]

Converts an immutable reference to a mutable reference.

Safety

Don’t use to immutable global variables.
It’ll crash your software.

Loading content...

Implementors

impl<T: ?Sized> ForceMut for T[src]

unsafe fn forcemut<'a>(&'a self) -> &'a mut Self[src]

Loading content...