cfg_sequence/
destination.rs1use cfg_symbol::Symbol;
4
5use super::{Sequence, builder::SequenceRuleBuilder};
6
7pub trait SequenceDestination: Sized {
9 fn add_sequence(&mut self, seq: Sequence);
11
12 fn sequence(self, lhs: Symbol) -> SequenceRuleBuilder<Self> {
14 SequenceRuleBuilder::new(self).sequence(lhs)
15 }
16}
17
18impl<'a> SequenceDestination for &'a mut Vec<Sequence> {
19 fn add_sequence(&mut self, seq: Sequence) {
20 self.push(seq);
21 }
22
23 fn sequence(self, lhs: Symbol) -> SequenceRuleBuilder<Self> {
25 SequenceRuleBuilder::new(self).sequence(lhs)
26 }
27}