Diffstat (limited to 'src/transform.rs')
-rw-r--r--src/transform.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/transform.rs b/src/transform.rs
index 9f92ba2..4652b9b 100644
--- a/src/transform.rs
+++ b/src/transform.rs
@@ -2,7 +2,7 @@ use core::marker::PhantomData;
use crate::{
build::Builder,
- effect::{Adapters, Effect, ObjSafe},
+ effect::{Effect, Effective, ErasedEffective},
hkt::Marker,
Walk, Walker, WalkerTypes,
};
@@ -12,19 +12,18 @@ use crate::{
pub fn transform<'a, 'ctx: 'a, B: Builder<'ctx, E> + 'a, W: Walker<'ctx, E> + 'a, E: Effect>(
seed: B::Seed,
walker: W,
-) -> ObjSafe<'a, (Result<B::Value, B::Error>, Result<W::Output, W::Error>), E> {
+) -> ErasedEffective<'a, (Result<B::Value, B::Error>, Result<W::Output, W::Error>), E> {
B::from_seed(seed)
- .as_ctx_for(
+ .as_ctx(
#[inline(always)]
- move |builder, _| (walker.walk(builder.as_visitor()), PhantomData),
+ move |builder| walker.walk(builder.as_visitor()).into_erased(),
)
- .then(|(builder, walker_result), _| {
+ .then(|(builder, walker_result)| {
builder
.build()
.map(|builder_result| (builder_result, walker_result))
- .into()
})
- .into()
+ .into_erased()
// B::from_seed(seed).map_with(walker, |builder, walker| walker.walk(builder.as_visitor()));
// E::wrap(async {