object_rainbow/refless/
assert_refless.rs1use crate::*;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, ToOutput, Tagged, Size)]
4pub struct AssertRefless<T>(pub T);
5
6impl<T: ByteOrd> ByteOrd for AssertRefless<T> {
7 fn bytes_cmp(&self, other: &Self) -> Ordering {
8 self.0.bytes_cmp(&other.0)
9 }
10}
11
12impl<T> ListHashes for AssertRefless<T> {}
13impl<T> Topological for AssertRefless<T> {}
14
15impl<T, I: ParseInput> Parse<I> for AssertRefless<T>
16where
17 T: for<'r> Parse<ReflessInput<'r>>,
18{
19 fn parse(input: I) -> crate::Result<Self> {
20 input.parse_refless()
21 }
22}
23
24impl<T, I: ParseInput> ParseInline<I> for AssertRefless<T>
25where
26 T: for<'r> ParseInline<ReflessInput<'r>>,
27{
28 fn parse_inline(input: &mut I) -> crate::Result<Self> {
29 input.parse_refless_inline()
30 }
31}