diff --git a/src/testing/inject.rs b/src/testing/inject.rs index 4ba9a88..2514762 100644 --- a/src/testing/inject.rs +++ b/src/testing/inject.rs @@ -4,7 +4,7 @@ use crate::func::context::*; use crate::rcore::*; trait Inject<'a, Ctx: Context<'a>>: 'a { - fn inject(fa: Wrapped<'a, Ctx, A>) -> Wrapped<'a, Ctx, A>; + fn inject(&self, fa: Wrapped<'a, Ctx, A>) -> Wrapped<'a, Ctx, A>; } struct InjectedResolver<'a, Ctx: Context<'a>, F: Inject<'a, Ctx>> { @@ -16,7 +16,7 @@ impl<'a, Ctx: Context<'a>, F: Inject<'a, Ctx>> Resolver<'a, Ctx> for InjectedRes fn resolve(self: Rc, address: crate::rcore::Address) -> HashResolution<'a, Ctx> { let inject = self.inject.clone(); Ctx::fmap( - self.resolver.clone().resolve(address), + self.inject.inject(self.resolver.clone().resolve(address)), |resolved| match resolved { Ok((source, resolver)) => Ok(( source,