1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use crate::pretty::{part::PrettyBuilder, Part};
pub trait PartTrait: 'static {
fn append_to(self, left: Part) -> Part;
}
pub(crate) fn low_level_part(part: impl PartTrait) -> PrettyBuilder {
Part::of(part).inner
}
impl<P> PartTrait for Option<P>
where
P: PartTrait,
{
fn append_to(self, builder: Part) -> Part {
match self {
Some(part) => builder.append(part),
None => builder,
}
}
}