errgonomic/functions/
get_root_error.rs

1use core::error::Error;
2
3/// Returns the deepest source error in the error chain (the root cause).
4pub fn get_root_source(error: &dyn Error) -> &dyn Error {
5    let mut source = error;
6    while let Some(source_new) = source.source() {
7        source = source_new;
8    }
9    source
10}