Finishes the sink and returns a [`Result`] with a provided success value. Similar to [`finish`], but allows specifying a concrete value for the success case. # Examples ``` # use error_stack::ReportSink; # use std::io; let mut sink = ReportSink::new(); # // needed for type inference # sink.capture(io::Error::new(io::ErrorKind::Other, "I/O error")); // ... add errors ... let result = sink.finish
(mut self, ok: T)
| 347 | /// |
| 348 | /// [`finish`]: ReportSink::finish |
| 349 | pub fn finish_ok<T>(mut self, ok: T) -> Result<T, Report<[C]>> { |
| 350 | self.bomb.defuse(); |
| 351 | self.report.map_or(Ok(ok), Err) |
| 352 | } |
| 353 | } |
| 354 | |
| 355 | impl<C> Default for ReportSink<C> { |