Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/resolver.rs')
| -rw-r--r-- | crates/hir-def/src/resolver.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/hir-def/src/resolver.rs b/crates/hir-def/src/resolver.rs index ea0eaf04bb..ae185759a5 100644 --- a/crates/hir-def/src/resolver.rs +++ b/crates/hir-def/src/resolver.rs @@ -501,16 +501,16 @@ impl Resolver { } pub fn resolve_lifetime(&self, lifetime: &LifetimeRef) -> Option<LifetimeNs> { - if lifetime.name == sym::tick_static.clone() { - return Some(LifetimeNs::Static); + match lifetime { + LifetimeRef::Static => Some(LifetimeNs::Static), + LifetimeRef::Named(name) => self.scopes().find_map(|scope| match scope { + Scope::GenericParams { def, params } => { + params.find_lifetime_by_name(name, *def).map(LifetimeNs::LifetimeParam) + } + _ => None, + }), + LifetimeRef::Placeholder | LifetimeRef::Error => None, } - - self.scopes().find_map(|scope| match scope { - Scope::GenericParams { def, params } => { - params.find_lifetime_by_name(&lifetime.name, *def).map(LifetimeNs::LifetimeParam) - } - _ => None, - }) } /// Returns a set of names available in the current scope. |