#[derive(Debug, Copy, Clone)]
pub struct Protected<T>(T);
impl<T> Protected<T> {
pub fn new(inner: T) -> Self {
Self(inner)
}
pub fn from_raw(inner: T) -> Self {
Self(inner)
}
pub fn into_raw(self) -> T {
self.0
}
pub fn access(&self, _justification: &'static str) -> &T {
&self.0
}
}