simpler Delayable

This commit is contained in:
AF 2023-05-26 17:18:14 +00:00
parent 133e6e72a3
commit 0613f3fffc

View File

@ -81,12 +81,10 @@ impl<'a> Resolver<'a, TestContextCounted> for CountedResolver<'a> {
} }
pub trait Delayable<'a>: Mentionable<'a, TestContextCounted> + Sized { pub trait Delayable<'a>: Mentionable<'a, TestContextCounted> + Sized {
fn delay(self: Rc<Self>) -> CastResult<'a, TestContextCounted, Self>;
}
impl<'a, A: Mentionable<'a, TestContextCounted>> Delayable<'a> for A {
fn delay(self: Rc<Self>) -> CastResult<'a, TestContextCounted, Self> { fn delay(self: Rc<Self>) -> CastResult<'a, TestContextCounted, Self> {
let factory = self.factory(); let factory = self.factory();
TypelessMentionable::from_typed(self).cast_full(factory, CountedResolver::new) TypelessMentionable::from_typed(self).cast_full(factory, CountedResolver::new)
} }
} }
impl<'a, A: Mentionable<'a, TestContextCounted>> Delayable<'a> for A {}