vertigo 0.1.1

Reactive Real-DOM library for Rust
Documentation
#![allow(clippy::mut_from_ref)]

use std::cell::UnsafeCell;

#[derive(Debug)]
pub struct InnerValue<T> {
    value: UnsafeCell<T>,
}

impl<T> InnerValue<T> {
    pub fn new(value: T) -> InnerValue<T> {
        InnerValue {
            value: UnsafeCell::new(value)
        }
    }
    pub fn get(&self) -> &T {
        unsafe {
            &*self.value.get()
        }
    }

    pub fn get_mut(&self) -> &mut T {
        unsafe {
            &mut *self.value.get()
        }
    }

    pub fn into_inner(self) -> T {
        self.value.into_inner()
    }
}