1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
/// Defines a type that only parses a string. /// /// # Example /// /// ``` /// # use yarpl::only; /// only!(A : "a"); /// ``` /// #[macro_export] macro_rules! only { ($Type:ident : $literal: literal) => { #[derive(Clone, Copy, Default, PartialEq, Debug)] pub struct $Type; impl $crate::Feed for $Type { fn feed(&mut self, consumer: &mut $crate::Consumer) -> $crate::Result { consumer.consume(&mut $literal) } } } }