in src/output.rs [144:163]
fn finalize(self: Box<Self>) -> anyhow::Result<()> {
let Self {
sender,
errors,
handle,
} = *self;
drop(sender);
let res = match errors.into_iter().next() {
Some(err) => Err(anyhow::Error::from(err).context("Superconsole I/O thread errored")),
None => Ok(()),
};
match handle.join() {
Ok(()) => {}
Err(panic) => std::panic::resume_unwind(panic),
}
res
}