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>>(