1 use std::any::{Demand, Provider}; 2 3 pub trait ThiserrorProvide: Sealed { thiserror_provide<'a>(&'a self, demand: &mut Demand<'a>)4 fn thiserror_provide<'a>(&'a self, demand: &mut Demand<'a>); 5 } 6 7 impl<T: Provider + ?Sized> ThiserrorProvide for T { 8 #[inline] thiserror_provide<'a>(&'a self, demand: &mut Demand<'a>)9 fn thiserror_provide<'a>(&'a self, demand: &mut Demand<'a>) { 10 self.provide(demand); 11 } 12 } 13 14 pub trait Sealed {} 15 impl<T: Provider + ?Sized> Sealed for T {} 16