use crate::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, ToOutput, Tagged, Size)]
pub struct AssertRefless<T>(pub T);
impl<T: ByteOrd> ByteOrd for AssertRefless<T> {
fn bytes_cmp(&self, other: &Self) -> Ordering {
self.0.bytes_cmp(&other.0)
}
}
impl<T> ListHashes for AssertRefless<T> {}
impl<T> Topological for AssertRefless<T> {}
impl<T, I: ParseInput> Parse<I> for AssertRefless<T>
where
T: for<'r> Parse<ReflessInput<'r>>,
{
fn parse(input: I) -> crate::Result<Self> {
input.parse_refless()
}
}
impl<T, I: ParseInput> ParseInline<I> for AssertRefless<T>
where
T: for<'r> ParseInline<ReflessInput<'r>>,
{
fn parse_inline(input: &mut I) -> crate::Result<Self> {
input.parse_refless_inline()
}
}