markab_parser/not_parser/
requirement.rs1use 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}