use std::cell::Cell;
use std::marker::Copy;
#[derive(Debug, Clone)]
pub struct Mut<T: Copy>(Cell<T>);
impl<T: Copy> Mut<T> {
#[inline]
pub fn new(data: T) -> Mut<T> {
Mut(Cell::new(data))
}
#[inline]
pub fn set(&mut self, data: T) {
self.0.set(data);
}
#[inline]
pub fn get(&self) -> T {
self.0.get()
}
}