reorder stack impls

This commit is contained in:
AF 2023-07-29 11:19:33 +00:00
parent 1f454fec16
commit f29ea3dbc8

View File

@ -49,32 +49,6 @@ impl<
{ {
} }
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>>
ExternalPointsProxy<'a, Ctx, Stack<'a, Ctx, Mtbl<'a, Ctx, F>>> for WithMode<F, RegularMode>
where
F::Mtbl: MentionableTop<'a, Ctx>,
{
fn exp_points_typed(
mentionable: &Stack<'a, Ctx, Mtbl<'a, Ctx, Self::F>>,
points: &mut impl PointsVisitor<'a, Ctx>,
) {
mentionable.points_typed(points)
}
}
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>>
ExternalPointsProxy<'a, Ctx, Stack<'a, Ctx, Mtbl<'a, Ctx, F>>> for WithMode<F, InliningMode>
where
F::Mtbl: MentionableTop<'a, Ctx>,
{
fn exp_points_typed(
mentionable: &Stack<'a, Ctx, Mtbl<'a, Ctx, Self::F>>,
points: &mut impl PointsVisitor<'a, Ctx>,
) {
mentionable.points_typed(points)
}
}
impl<'a, Ctx: Context<'a>, A: MentionableBase<'a, Ctx>> MentionableBase<'a, Ctx> impl<'a, Ctx: Context<'a>, A: MentionableBase<'a, Ctx>> MentionableBase<'a, Ctx>
for StackNode<'a, Ctx, A> for StackNode<'a, Ctx, A>
{ {
@ -143,6 +117,19 @@ impl<F: ParseMode> ParseMode for StackNodeFactory<F> {
type Mode = F::Mode; type Mode = F::Mode;
} }
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>>
ExternalPointsProxy<'a, Ctx, Stack<'a, Ctx, Mtbl<'a, Ctx, F>>> for WithMode<F, RegularMode>
where
F::Mtbl: MentionableTop<'a, Ctx>,
{
fn exp_points_typed(
mentionable: &Stack<'a, Ctx, Mtbl<'a, Ctx, Self::F>>,
points: &mut impl PointsVisitor<'a, Ctx>,
) {
mentionable.points_typed(points)
}
}
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> RegularFactory<'a, Ctx> impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> RegularFactory<'a, Ctx>
for StackNodeFactory<F> for StackNodeFactory<F>
where where
@ -241,6 +228,19 @@ where
} }
} }
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>>
ExternalPointsProxy<'a, Ctx, Stack<'a, Ctx, Mtbl<'a, Ctx, F>>> for WithMode<F, InliningMode>
where
F::Mtbl: MentionableTop<'a, Ctx>,
{
fn exp_points_typed(
mentionable: &Stack<'a, Ctx, Mtbl<'a, Ctx, Self::F>>,
points: &mut impl PointsVisitor<'a, Ctx>,
) {
mentionable.points_typed(points)
}
}
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> InlineableFactory<'a, Ctx> impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> InlineableFactory<'a, Ctx>
for StackNodeFactory<F> for StackNodeFactory<F>
where where