object_rainbow/impls/
unit.rs

1use crate::*;
2
3impl ToOutput for () {
4    fn to_output(&self, _: &mut dyn Output) {}
5}
6
7impl InlineOutput for () {}
8
9impl<I: ParseInput> Parse<I> for () {
10    fn parse(input: I) -> crate::Result<Self> {
11        ParseInline::parse_as_inline(input)
12    }
13}
14
15impl<I: ParseInput> ParseInline<I> for () {
16    fn parse_inline(_: &mut I) -> crate::Result<Self> {
17        Ok(())
18    }
19}
20
21impl ListHashes for () {}
22impl Topological for () {}
23impl Tagged for () {}
24
25impl Size for () {
26    const SIZE: usize = 0;
27    type Size = typenum::U0;
28}
29
30impl MaybeHasNiche for () {
31    type MnArray = NoNiche<ZeroNoNiche<<Self as Size>::Size>>;
32}