Diffstat (limited to 'src/protocol/visitor.rs')
| -rw-r--r-- | src/protocol/visitor.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/protocol/visitor.rs b/src/protocol/visitor.rs index e2ed85c..bf2b8d2 100644 --- a/src/protocol/visitor.rs +++ b/src/protocol/visitor.rs @@ -79,6 +79,16 @@ impl<S> VisitResult<S> { VisitResult::Control(Flow::Err) => Some(Status::Err), } } + + pub fn map_skipped<R, F>(self, f: F) -> VisitResult<R> + where + F: FnOnce(S) -> R, + { + match self { + VisitResult::Skipped(s) => VisitResult::Skipped(f(s)), + VisitResult::Control(flow) => VisitResult::Control(flow), + } + } } pub trait EffectiveVisitExt<'lt>: Effective<'lt> { |