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}