#![no_std]
#[cfg(feature = "std")]
extern crate std;
use core::fmt::*;
#[cfg(feature = "std")]
pub use std::error::Error;
#[cfg(not(feature = "std"))]
pub trait Error: Debug + Display {
fn source(&self) -> Option<&(dyn Error + 'static)> {
None
}
#[deprecated(since = "1.42.0", note = "use `Display`")]
fn description(&self) -> &str { "description() is deprecated; use Display" }
#[deprecated(since = "1.33.0", note = "obsoleted by Error::source, which can support downcasting")]
#[allow(missing_docs)]
fn cause(&self) -> Option<&dyn Error> { self.source() }
}