markab_parser/not_parser/
requirement.rs

1use crate::Parser;
2use std::fmt::{
3	Display,
4	Formatter,
5	Result as FmtResult,
6};
7
8#[derive(Debug)]
9pub struct NotParserRequirement<'a, P>
10where
11	P: Parser<'a>,
12{
13	requirement: P::Requirement,
14}
15
16impl<'a, P> NotParserRequirement<'a, P>
17where
18	P: Parser<'a>,
19{
20	pub fn new(requirement: P::Requirement) -> Self
21	{
22		Self { requirement }
23	}
24}
25
26impl<'a, P> Display for NotParserRequirement<'a, P>
27where
28	P: Parser<'a>,
29{
30	fn fmt(&self, f: &mut Formatter) -> FmtResult
31	{
32		write!(f, "!{}", self.requirement)
33	}
34}