mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 22:31:43 +00:00
Add Lifetime to TyKind::Ref
This commit is contained in:
parent
4bc8a01830
commit
96756f1b1d
13 changed files with 74 additions and 43 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue