Diffstat (limited to 'src/build/builders/core/enum.rs')
| -rw-r--r-- | src/build/builders/core/enum.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/build/builders/core/enum.rs b/src/build/builders/core/enum.rs index 4e29bc4..a2bcb3b 100644 --- a/src/build/builders/core/enum.rs +++ b/src/build/builders/core/enum.rs @@ -3,6 +3,7 @@ use core::fmt::{Debug, Display}; use crate::any::{OwnedStatic, TempBorrowedStatic, TempBorrowedStaticHrt}; use crate::effect::{EffectExt, Effective, EffectiveExt}; use crate::protocol::visitor::{DynRecoverableScope, Recoverable, RecoverableProto}; +use crate::protocol::AsVisitor; use crate::{ any::{AnyTraitObject, TypeName, TypeNameId}, any_trait, @@ -106,8 +107,16 @@ where Inner::Value(value) => E::ready(value), } } +} - fn as_visitor(&mut self) -> DynVisitor<'_, 'ctx> { +impl<'ctx, Info, Mode, E: Effect> AsVisitor<'ctx> for EnumBuilder<'ctx, Info, Mode, E> +where + Info: EnumBuildInfo<'ctx, Mode, E>, +{ + fn as_visitor<'a>(&'a mut self) -> DynVisitor<'a, 'ctx> + where + 'ctx: 'a, + { DynVisitor(self) } } |