Diffstat (limited to 'src/build/builders/core/enum.rs')
-rw-r--r--src/build/builders/core/enum.rs33
1 files changed, 5 insertions, 28 deletions
diff --git a/src/build/builders/core/enum.rs b/src/build/builders/core/enum.rs
index dd5b0b8..f5ba931 100644
--- a/src/build/builders/core/enum.rs
+++ b/src/build/builders/core/enum.rs
@@ -250,36 +250,13 @@ where
{
let visitor = VariantVisitor::<Info, Mode, E> { marker: None };
- E::value(visitor)
- .update_map::<'_, '_, _, Flow>(walker, |walker, visitor| {
- let y: DynVisitor<'_, 'lt, 'ctx, E> = DynVisitor(visitor);
- let walker: DynWalkerObjSafe<'b, 'd, 'ctx, E> = walker;
- let x: Canonical<'_, Flow, E> = walker.walk(y);
- let y: Canonical<'_, Flow, E, &'_ ()> = x.cast();
+ E::value((walker, visitor))
+ .update_map((), |_, (walker, visitor)| {
+ let y = DynVisitor(visitor);
+ let x = walker.walk(y);
+ let y = x.cast();
y
- // E::value(Flow::Done).cast()
});
- // .then(self, |this, ((visitor, _), result)| {
- // if let Some(variant) = visitor.marker {
- // match core::mem::replace(&mut this.inner, Inner::Temp) {
- // // A variant was given so we need to make the builder for
- // // it.
- // Inner::Seed(seed) => Info::new_builder(seed, variant)
- // .map((this, result), |(this, result), builder| {
- // this.inner = Inner::Builder { builder };
- // result.to_done().into()
- // })
- // .cast::<()>(),
- // inner => {
- // this.inner = inner;
- // E::value::<VisitResult>(result.to_done().into()).cast()
- // }
- // }
- // } else {
- // E::value(result.to_done().into()).cast()
- // }
- // });
- // .cast()
todo!();
}
}