MemoryCell implementation. Lite, documented, ready.
MemoryCell is a struct containing both a current and optional previous value.
#[derive(Debug, Clone)]
pub struct MemoryCell<T> {
current: T,
last_val: Option<T>,
}
use memcell::MemoryCell;
fn main() {
let mut cell = MemoryCell::new(5_u32);
let new_value = 10;
cell.update(new_value);
assert_eq!(cell.current(), &10);
assert_eq!(cell.last(), Some(&5));
}