simplify cast_resolved

This commit is contained in:
AF 2023-08-01 21:00:00 +00:00
parent 7dbfc49c54
commit a9f1134556

View File

@ -188,13 +188,11 @@ fn cast_resolved<'a, Ctx: CastCtx<'a>, A: Mentionable<'a, Ctx>>(
resolved: ResolutionResult<'a, Ctx, TypelessMentionable<'a, Ctx>>, resolved: ResolutionResult<'a, Ctx, TypelessMentionable<'a, Ctx>>,
factory: A::Fctr, factory: A::Fctr,
) -> ResolutionResult<'a, Ctx, A> { ) -> ResolutionResult<'a, Ctx, A> {
match resolved { resolved
Ok(typeless_mentionable) => match typeless_mentionable.cast(factory) { .map_err(cast_error::<Ctx, A>)?
Ok(mentionable) => Ok(Rc::new(mentionable)), .cast(factory)
Err(parse_error) => Err(ResolutionError::Parse(parse_error)), .map_err(ResolutionError::Parse)
}, .map(Rc::new)
Err(error) => Err(cast_error::<Ctx, A>(error)),
}
} }
fn cast_resolve<'a, Ctx: CastCtx<'a>, A: Mentionable<'a, Ctx>>( fn cast_resolve<'a, Ctx: CastCtx<'a>, A: Mentionable<'a, Ctx>>(