chiark / gitweb /
Provide AggregatedIE::handle
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 17 Feb 2021 22:52:44 +0000 (22:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 17 Feb 2021 22:53:41 +0000 (22:53 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/error.rs

index 68a2b58817b603ecd4bac4a725b1f66a9007dca7..e6a33f381b1c2660adfb082b769ee3fc6b7e0495 100644 (file)
@@ -164,6 +164,14 @@ pub enum AggregatedIE {
 
 impl AggregatedIE {
   pub fn new() -> Self { Self::Ok }
+
+  pub fn handle<T>(&mut self, r: Result<T, InternalError>) -> Option<T> {
+    match r {
+      Ok(t) => Some(t),
+      Err(e) => { self.record(e); None }
+    }
+  }
+
   pub fn record(&mut self, e: InternalError) {
     error!("error occurred in aggregating-errors contest: {}", &e);
     *self = match self {