Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_ty/src/lib.rs')
| -rw-r--r-- | crates/hir_ty/src/lib.rs | 67 |
1 files changed, 32 insertions, 35 deletions
diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index 3e5f2d29df..1950820a37 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs @@ -123,8 +123,8 @@ pub type WhereClause = chalk_ir::WhereClause<Interner>; // FIXME: get rid of this pub fn subst_prefix(s: &Substitution, n: usize) -> Substitution { Substitution::from_iter( - &Interner, - s.as_slice(&Interner)[..std::cmp::min(s.len(&Interner), n)].iter().cloned(), + Interner, + s.as_slice(Interner)[..std::cmp::min(s.len(Interner), n)].iter().cloned(), ) } @@ -137,7 +137,7 @@ pub(crate) fn wrap_empty_binders<T>(value: T) -> Binders<T> where T: Fold<Interner, Result = T> + HasInterner<Interner = Interner>, { - Binders::empty(&Interner, value.shifted_in_from(&Interner, DebruijnIndex::ONE)) + Binders::empty(Interner, value.shifted_in_from(Interner, DebruijnIndex::ONE)) } pub(crate) fn make_only_type_binders<T: HasInterner<Interner = Interner>>( @@ -146,7 +146,7 @@ pub(crate) fn make_only_type_binders<T: HasInterner<Interner = Interner>>( ) -> Binders<T> { Binders::new( VariableKinds::from_iter( - &Interner, + Interner, std::iter::repeat(chalk_ir::VariableKind::Ty(chalk_ir::TyVariableKind::General)) .take(num_vars), ), @@ -165,7 +165,7 @@ pub fn make_canonical<T: HasInterner<Interner = Interner>>( chalk_ir::UniverseIndex::ROOT, ) }); - Canonical { value, binders: chalk_ir::CanonicalVarKinds::from_iter(&Interner, kinds) } + Canonical { value, binders: chalk_ir::CanonicalVarKinds::from_iter(Interner, kinds) } } // FIXME: get rid of this, just replace it by FnPointer @@ -199,12 +199,12 @@ impl CallableSig { params_and_return: fn_ptr .substitution .clone() - .shifted_out_to(&Interner, DebruijnIndex::ONE) + .shifted_out_to(Interner, DebruijnIndex::ONE) .expect("unexpected lifetime vars in fn ptr") .0 - .as_slice(&Interner) + .as_slice(Interner) .iter() - .map(|arg| arg.assert_ty_ref(&Interner).clone()) + .map(|arg| arg.assert_ty_ref(Interner).clone()) .collect(), is_varargs: fn_ptr.sig.variadic, legacy_const_generics_indices: Arc::new([]), @@ -220,7 +220,7 @@ impl CallableSig { num_binders: 0, sig: FnSig { abi: (), safety: Safety::Safe, variadic: self.is_varargs }, substitution: FnSubst(Substitution::from_iter( - &Interner, + Interner, self.params_and_return.iter().cloned(), )), } @@ -238,14 +238,11 @@ impl CallableSig { impl Fold<Interner> for CallableSig { type Result = CallableSig; - fn fold_with<'i, E>( + fn fold_with<E>( self, - folder: &mut dyn chalk_ir::fold::Folder<'i, Interner, Error = E>, + folder: &mut dyn chalk_ir::fold::Folder<Interner, Error = E>, outer_binder: DebruijnIndex, - ) -> Result<Self::Result, E> - where - Interner: 'i, - { + ) -> Result<Self::Result, E> { let vec = self.params_and_return.to_vec(); let folded = vec.fold_with(folder, outer_binder)?; Ok(CallableSig { @@ -275,18 +272,18 @@ pub(crate) struct ReturnTypeImplTrait { } pub fn static_lifetime() -> Lifetime { - LifetimeData::Static.intern(&Interner) + LifetimeData::Static.intern(Interner) } pub fn dummy_usize_const() -> Const { - let usize_ty = chalk_ir::TyKind::Scalar(Scalar::Uint(UintTy::Usize)).intern(&Interner); + let usize_ty = chalk_ir::TyKind::Scalar(Scalar::Uint(UintTy::Usize)).intern(Interner); chalk_ir::ConstData { ty: usize_ty, value: chalk_ir::ConstValue::Concrete(chalk_ir::ConcreteConst { interned: ConstScalar::Unknown, }), } - .intern(&Interner) + .intern(Interner) } pub(crate) fn fold_free_vars<T: HasInterner<Interner = Interner> + Fold<Interner>>( @@ -295,15 +292,15 @@ pub(crate) fn fold_free_vars<T: HasInterner<Interner = Interner> + Fold<Interner ) -> T::Result { use chalk_ir::{fold::Folder, Fallible}; struct FreeVarFolder<F>(F); - impl<'i, F: FnMut(BoundVar, DebruijnIndex) -> Ty + 'i> Folder<'i, Interner> for FreeVarFolder<F> { + impl<'i, F: FnMut(BoundVar, DebruijnIndex) -> Ty + 'i> Folder<Interner> for FreeVarFolder<F> { type Error = NoSolution; - fn as_dyn(&mut self) -> &mut dyn Folder<'i, Interner, Error = Self::Error> { + fn as_dyn(&mut self) -> &mut dyn Folder<Interner, Error = Self::Error> { self } - fn interner(&self) -> &'i Interner { - &Interner + fn interner(&self) -> Interner { + Interner } fn fold_free_var_ty( @@ -327,15 +324,15 @@ pub(crate) fn fold_tys<T: HasInterner<Interner = Interner> + Fold<Interner>>( Fallible, }; struct TyFolder<F>(F); - impl<'i, F: FnMut(Ty, DebruijnIndex) -> Ty + 'i> Folder<'i, Interner> for TyFolder<F> { + impl<'i, F: FnMut(Ty, DebruijnIndex) -> Ty + 'i> Folder<Interner> for TyFolder<F> { type Error = NoSolution; - fn as_dyn(&mut self) -> &mut dyn Folder<'i, Interner, Error = Self::Error> { + fn as_dyn(&mut self) -> &mut dyn Folder<Interner, Error = Self::Error> { self } - fn interner(&self) -> &'i Interner { - &Interner + fn interner(&self) -> Interner { + Interner } fn fold_ty(&mut self, ty: Ty, outer_binder: DebruijnIndex) -> Fallible<Ty> { @@ -361,22 +358,22 @@ where struct ErrorReplacer { vars: usize, } - impl<'i> Folder<'i, Interner> for ErrorReplacer { + impl<'i> Folder<Interner> for ErrorReplacer { type Error = NoSolution; - fn as_dyn(&mut self) -> &mut dyn Folder<'i, Interner, Error = Self::Error> { + fn as_dyn(&mut self) -> &mut dyn Folder<Interner, Error = Self::Error> { self } - fn interner(&self) -> &'i Interner { - &Interner + fn interner(&self) -> Interner { + Interner } fn fold_ty(&mut self, ty: Ty, outer_binder: DebruijnIndex) -> Fallible<Ty> { - if let TyKind::Error = ty.kind(&Interner) { + if let TyKind::Error = ty.kind(Interner) { let index = self.vars; self.vars += 1; - Ok(TyKind::BoundVar(BoundVar::new(outer_binder, index)).intern(&Interner)) + Ok(TyKind::BoundVar(BoundVar::new(outer_binder, index)).intern(Interner)) } else { let ty = ty.super_fold_with(self.as_dyn(), outer_binder)?; Ok(ty) @@ -394,7 +391,7 @@ where // won't contain the whole thing, which would not be very helpful Err(NoSolution) } else { - Ok(TyKind::Error.intern(&Interner)) + Ok(TyKind::Error.intern(Interner)) } } @@ -408,7 +405,7 @@ where // won't contain the whole thing, which would not be very helpful Err(NoSolution) } else { - Ok(TyKind::Error.intern(&Interner)) + Ok(TyKind::Error.intern(Interner)) } } @@ -473,5 +470,5 @@ where chalk_ir::UniverseIndex::ROOT, ) }); - Canonical { value, binders: chalk_ir::CanonicalVarKinds::from_iter(&Interner, kinds) } + Canonical { value, binders: chalk_ir::CanonicalVarKinds::from_iter(Interner, kinds) } } |