ignite 0.1.6

ignite serves the role as a "batteries included" addon to stdlib providing useful stuff and higher level functions along with abstractions.
Documentation
use std::cell::Cell;
use std::marker::Copy;

/// A struct which exploits interior mutability to be mutable without actually being mutable.
#[derive(Debug, Clone)]
pub struct Mut<T: Copy>(Cell<T>);

impl<T: Copy> Mut<T> {
    /// Create a new Mut structure.
    #[inline]
    pub fn new(data: T) -> Mut<T> {
        Mut(Cell::new(data))
    }

    /// Set the contents of the structure.
    #[inline]
    pub fn set(&mut self, data: T) {
        self.0.set(data);
    }

    /// Get the contents of the structure.
    #[inline]
    pub fn get(&self) -> T {
        self.0.get()
    }
}