use snafu::{ResultExt, Snafu};
#[derive(Debug, Snafu)]
enum InnerError {
InnerVariant,
}
mod error {
use super::InnerError;
use snafu::Snafu;
#[derive(Debug, Snafu)]
pub(super) enum Error {
#[snafu(visibility(pub(super)), display("Moo"))]
Alpha {
#[snafu(source, backtrace)]
cause: InnerError,
},
}
}
#[test]
fn is_visible() {
let _ = error::Alpha;
}
fn example() -> Result<u8, InnerError> {
InnerVariant.fail()
}
#[test]
fn has_display() {
let err = example().context(error::Alpha).unwrap_err();
assert_eq!(format!("{}", err), "Moo");
}