Diffstat (limited to 'src/transform.rs')
-rw-r--r--src/transform.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/transform.rs b/src/transform.rs
index bd358bf..65b9887 100644
--- a/src/transform.rs
+++ b/src/transform.rs
@@ -2,9 +2,9 @@ use core::marker::PhantomData;
use crate::{
build::Builder,
- effect::{Effect, Effective, ErasedEffective},
+ effect::{all_ctx, merge_ctx, Effect, Effective, EffectiveExt, ErasedEffective},
hkt::Marker,
- Walk, Walker, WalkerTypes,
+ BuilderTypes, Walk, Walker, WalkerTypes,
};
#[inline(always)]
@@ -14,7 +14,11 @@ pub fn transform<'a, 'ctx: 'a, B: Builder<'ctx, E> + 'a, W: Walker<'ctx, E> + 'a
walker: W,
) -> ErasedEffective<'a, (Result<B::Value, B::Error>, Result<W::Output, W::Error>), E> {
B::from_seed(seed)
- .as_ctx(|builder| walker.walk(builder.as_visitor()).into_erased())
+ .as_ctx(
+ all_ctx,
+ |builder, _| walker.walk(builder.as_visitor()).into_erased(),
+ merge_ctx,
+ )
.then(|(builder, walker_result)| {
builder
.build()