mut_static 1.0.0

Provides a struct to help create mutable statics with lazy_static.
Documentation
# mut_static

Provides a struct to help create mutable statics with lazy_static.

([crates.io][crate])

[crate]: https://crates.io/crates/lazy_static

# Quickstart

To create a mutable static simply put your lazy_static object inside of a `MutStatic`:
``` rust
use mut_static::MutStatic;
use std::mem;

// Declaring a MutStatic
lazy_static! {
    pub static ref MY_OBJECT: MutStatic<MyObject> = {
        MutStatic::new()
    };
}

fn main() -> {
    // Setting a MutStatic
    MY_OBJECT.set(MyObject::new()).unwrap();

    // Using a MutStatic
    {
        let my_object = MY_OBJECT.get().unwrap();
        let my_object = my_object.deref();
        my_object.use();
    }

    // Using a MutStatic mutably
    {
        let mut my_object = MY_OBJECT.get().unwrap();
        let mut my_object = my_object.deref_mut();
        my_object.use_mut();

        // Resetting a MutStatic
        mem::replace(my_object, MyObject::new());
    }
}
```