From 7dbfc49c5458e94a73618ea7a9719803be25244e Mon Sep 17 00:00:00 2001 From: timofey <tim@ongoteam.yaconnect.com> Date: Tue, 1 Aug 2023 20:57:02 +0000 Subject: [PATCH] `lookup_error` --- src/rstd/cast.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rstd/cast.rs b/src/rstd/cast.rs index 36135ca..7d616d9 100644 --- a/src/rstd/cast.rs +++ b/src/rstd/cast.rs @@ -169,13 +169,19 @@ impl<'a, Ctx: CastCtx<'a>> TypelessMentionable<'a, Ctx> { } } +fn lookup_error<'a, Ctx: CastCtx<'a>>( + error: ResolutionFailure<'a, Ctx, TypelessMentionable<'a, Ctx>>, +) -> Ctx::LookupError { + match error { + ResolutionError::Lookup(lookup_error) => lookup_error, + ResolutionError::Parse(parse_error) => Ctx::from_cast(CastError::Typeless(parse_error)), + } +} + fn cast_error<'a, Ctx: CastCtx<'a>, A: Mentionable<'a, Ctx>>( error: ResolutionFailure<'a, Ctx, TypelessMentionable<'a, Ctx>>, ) -> ResolutionFailure<'a, Ctx, A> { - ResolutionError::Lookup(match error { - ResolutionError::Lookup(lookup_error) => lookup_error, - ResolutionError::Parse(parse_error) => Ctx::from_cast(CastError::Typeless(parse_error)), - }) + ResolutionError::Lookup(lookup_error::<Ctx>(error)) } fn cast_resolved<'a, Ctx: CastCtx<'a>, A: Mentionable<'a, Ctx>>(