From 96756f1b1df4729fd00ca96a59971b3997c91934 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Mon, 5 Apr 2021 22:08:16 +0200 Subject: Add Lifetime to TyKind::Ref --- crates/hir_ty/src/lib.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/hir_ty/src/lib.rs') diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index c3ec12352..1dfe2075c 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs @@ -165,16 +165,16 @@ impl CallableSig { } impl Ty { - pub fn as_reference(&self) -> Option<(&Ty, Mutability)> { + pub fn as_reference(&self) -> Option<(&Ty, Lifetime, Mutability)> { match self.kind(&Interner) { - TyKind::Ref(mutability, ty) => Some((ty, *mutability)), + TyKind::Ref(mutability, lifetime, ty) => Some((ty, *lifetime, *mutability)), _ => None, } } pub fn as_reference_or_ptr(&self) -> Option<(&Ty, Rawness, Mutability)> { match self.kind(&Interner) { - TyKind::Ref(mutability, ty) => Some((ty, Rawness::Ref, *mutability)), + TyKind::Ref(mutability, _, ty) => Some((ty, Rawness::Ref, *mutability)), TyKind::Raw(mutability, ty) => Some((ty, Rawness::RawPtr, *mutability)), _ => None, } @@ -183,7 +183,7 @@ impl Ty { pub fn strip_references(&self) -> &Ty { let mut t: &Ty = self; - while let TyKind::Ref(_mutability, ty) = t.kind(&Interner) { + while let TyKind::Ref(_mutability, _lifetime, ty) = t.kind(&Interner) { t = ty; } -- cgit v1.2.3 From 08dc69599efb4961319c0118b789d3abb264b7fa Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Tue, 6 Apr 2021 10:50:55 +0200 Subject: Use a constructor function for Static lifetimes --- crates/hir_ty/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'crates/hir_ty/src/lib.rs') diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index 1dfe2075c..bccc73449 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs @@ -495,3 +495,7 @@ pub fn to_chalk_trait_id(id: TraitId) -> ChalkTraitId { pub fn from_chalk_trait_id(id: ChalkTraitId) -> TraitId { salsa::InternKey::from_intern_id(id.0) } + +pub fn static_lifetime() -> Lifetime { + LifetimeData::Static.intern(&Interner) +} -- cgit v1.2.3