1use crate::*;
2
3#[derive(Debug, Clone, ParseAsInline, PartialEq)]
4pub struct Extras<Extra>(pub Extra);
5
6impl<Extra> Deref for Extras<Extra> {
7 type Target = Extra;
8
9 fn deref(&self) -> &Self::Target {
10 &self.0
11 }
12}
13
14impl<Extra> ToOutput for Extras<Extra> {
15 fn to_output(&self, _: &mut impl Output) {}
16}
17
18impl<Extra> InlineOutput for Extras<Extra> {}
19
20impl<I: PointInput> ParseInline<I> for Extras<I::Extra> {
21 fn parse_inline(input: &mut I) -> object_rainbow::Result<Self> {
22 Ok(Self(input.extra().clone()))
23 }
24}
25
26impl<Extra> Tagged for Extras<Extra> {}
27impl<Extra> ListHashes for Extras<Extra> {}
28impl<Extra> Topological for Extras<Extra> {}