Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/expr_store/lower/generics.rs')
| -rw-r--r-- | crates/hir-def/src/expr_store/lower/generics.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/crates/hir-def/src/expr_store/lower/generics.rs b/crates/hir-def/src/expr_store/lower/generics.rs index 67d1793bc9..18cec77b94 100644 --- a/crates/hir-def/src/expr_store/lower/generics.rs +++ b/crates/hir-def/src/expr_store/lower/generics.rs @@ -123,12 +123,14 @@ impl<'db, 'c> GenericParamsCollector<'db, 'c> { ast::GenericParam::LifetimeParam(lifetime_param) => { let lifetime_ref = self.expr_collector.lower_lifetime_ref_opt(lifetime_param.lifetime()); - let param = LifetimeParamData { name: lifetime_ref.name.clone() }; - let _idx = self.lifetimes.alloc(param); - self.lower_bounds( - lifetime_param.type_bound_list(), - Either::Right(lifetime_ref), - ); + if let LifetimeRef::Named(name) = &lifetime_ref { + let param = LifetimeParamData { name: name.clone() }; + let _idx = self.lifetimes.alloc(param); + self.lower_bounds( + lifetime_param.type_bound_list(), + Either::Right(lifetime_ref), + ); + } } } } @@ -151,7 +153,7 @@ impl<'db, 'c> GenericParamsCollector<'db, 'c> { .map(|lifetime_param| { lifetime_param .lifetime() - .map_or_else(Name::missing, |lt| Name::new_lifetime(<)) + .map_or_else(Name::missing, |lt| Name::new_lifetime(<.text())) }) .collect() }); |