aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer/pat.rs
diff options
context:
space:
mode:
authorLukas Wirth <[email protected]>2021-04-06 09:50:55 +0100
committerLukas Wirth <[email protected]>2021-04-06 09:50:55 +0100
commit08dc69599efb4961319c0118b789d3abb264b7fa (patch)
treef4951c835dd6f4840ae02ba5c06d5da44aedae94 /crates/hir_ty/src/infer/pat.rs
parentb98c681cb7ede9fd6a8683b1edd83a5b18502178 (diff)
Use a constructor function for Static lifetimes
Diffstat (limited to 'crates/hir_ty/src/infer/pat.rs')
-rw-r--r--crates/hir_ty/src/infer/pat.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/crates/hir_ty/src/infer/pat.rs b/crates/hir_ty/src/infer/pat.rs
index b5e97cc8c..2848a393c 100644
--- a/crates/hir_ty/src/infer/pat.rs
+++ b/crates/hir_ty/src/infer/pat.rs
@@ -13,7 +13,7 @@ use hir_expand::name::Name;
13 13
14use super::{BindingMode, Expectation, InferenceContext}; 14use super::{BindingMode, Expectation, InferenceContext};
15use crate::{ 15use crate::{
16 lower::lower_to_chalk_mutability, utils::variant_data, Interner, LifetimeData, Substitution, 16 lower::lower_to_chalk_mutability, static_lifetime, utils::variant_data, Interner, Substitution,
17 Ty, TyBuilder, TyKind, 17 Ty, TyBuilder, TyKind,
18}; 18};
19 19
@@ -171,8 +171,7 @@ impl<'a> InferenceContext<'a> {
171 _ => self.result.standard_types.unknown.clone(), 171 _ => self.result.standard_types.unknown.clone(),
172 }; 172 };
173 let subty = self.infer_pat(*pat, &expectation, default_bm); 173 let subty = self.infer_pat(*pat, &expectation, default_bm);
174 TyKind::Ref(mutability, LifetimeData::Static.intern(&Interner), subty) 174 TyKind::Ref(mutability, static_lifetime(), subty).intern(&Interner)
175 .intern(&Interner)
176 } 175 }
177 Pat::TupleStruct { path: p, args: subpats, ellipsis } => self.infer_tuple_struct_pat( 176 Pat::TupleStruct { path: p, args: subpats, ellipsis } => self.infer_tuple_struct_pat(
178 p.as_ref(), 177 p.as_ref(),
@@ -204,12 +203,10 @@ impl<'a> InferenceContext<'a> {
204 let inner_ty = self.insert_type_vars_shallow(inner_ty); 203 let inner_ty = self.insert_type_vars_shallow(inner_ty);
205 204
206 let bound_ty = match mode { 205 let bound_ty = match mode {
207 BindingMode::Ref(mutability) => TyKind::Ref( 206 BindingMode::Ref(mutability) => {
208 mutability, 207 TyKind::Ref(mutability, static_lifetime(), inner_ty.clone())
209 LifetimeData::Static.intern(&Interner), 208 .intern(&Interner)
210 inner_ty.clone(), 209 }
211 )
212 .intern(&Interner),
213 BindingMode::Move => inner_ty.clone(), 210 BindingMode::Move => inner_ty.clone(),
214 }; 211 };
215 let bound_ty = self.resolve_ty_as_possible(bound_ty); 212 let bound_ty = self.resolve_ty_as_possible(bound_ty);