derail 0.3.0

An alternative to `core::error::Error`.
Documentation
use derail::Error;

fn consume<E>(_: E)
where
    E: Error,
{
}

#[test]
fn ref_impl() {
    #[expect(dead_code)]
    fn produce<E>(x: E)
    where
        E: Error,
    {
        consume(&x);
    }
}

#[test]
fn mut_impl() {
    #[expect(dead_code)]
    fn produce<E>(mut x: E)
    where
        E: Error,
    {
        consume(&mut x);
    }
}