use crate::plug::{PlugLifetime, PlugType};
use std::marker::PhantomData;
pub struct H2Reference;
impl<'a> PlugLifetime<'a> for H2Reference {
type T = H1Reference<'a>;
}
pub struct H1Reference<'a>(PhantomData<&'a ()>);
impl<'a, T> PlugType<T> for H1Reference<'a>
where
T: 'a + ?Sized,
{
type T = &'a T;
}
pub struct TypedH1Reference<T>(PhantomData<T>)
where
T: ?Sized;
impl<'a, T> PlugLifetime<'a> for TypedH1Reference<T>
where
T: 'a + ?Sized,
{
type T = &'a T;
}