pub mod cancel;
#[cfg(not(target_family = "wasm"))]
pub mod file_inspection;
pub mod lazy;
#[cfg(not(target_family = "wasm"))]
pub mod local_socket;
#[cfg(not(target_family = "wasm"))]
pub mod private_document;
#[cfg(not(target_family = "wasm"))]
pub mod private_fs;
#[cfg(not(any(target_os = "ios", target_family = "wasm")))]
pub mod process;
pub mod slot;
pub mod user_home;
#[cfg(not(target_family = "wasm"))]
pub mod wakeup;
pub fn error_chain(error: &dyn std::error::Error) -> String {
let mut message = error.to_string();
let mut cause = error.source();
while let Some(error) = cause {
message.push_str(": ");
message.push_str(&error.to_string());
cause = error.source();
}
message
}