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.rs18
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.