use std::{rc::Rc, sync::Arc};
use derail::Error;
fn consume<E>(_: E)
where
E: Error,
{
}
#[test]
fn box_impl() {
#[expect(dead_code)]
fn produce(x: Box<dyn Error<Details = ()>>) {
consume(x);
}
}
#[test]
fn rc_impl() {
#[expect(dead_code)]
fn produce(x: Rc<dyn Error<Details = ()>>) {
consume(x);
}
}
#[test]
fn arc_impl() {
#[expect(dead_code)]
fn produce(x: Arc<dyn Error<Details = ()>>) {
consume(x);
}
}