Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/fold.rs')
-rw-r--r--crates/hir-ty/src/next_solver/fold.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/crates/hir-ty/src/next_solver/fold.rs b/crates/hir-ty/src/next_solver/fold.rs
index 7836419e8b..af823aa005 100644
--- a/crates/hir-ty/src/next_solver/fold.rs
+++ b/crates/hir-ty/src/next_solver/fold.rs
@@ -17,28 +17,28 @@ use super::{
/// gets mapped to the same result. `BoundVarReplacer` caches by using
/// a `DelayedMap` which does not cache the first few types it encounters.
pub trait BoundVarReplacerDelegate<'db> {
- fn replace_region(&mut self, br: BoundRegion) -> Region<'db>;
- fn replace_ty(&mut self, bt: BoundTy) -> Ty<'db>;
- fn replace_const(&mut self, bv: BoundConst) -> Const<'db>;
+ fn replace_region(&mut self, br: BoundRegion<'db>) -> Region<'db>;
+ fn replace_ty(&mut self, bt: BoundTy<'db>) -> Ty<'db>;
+ fn replace_const(&mut self, bv: BoundConst<'db>) -> Const<'db>;
}
/// A simple delegate taking 3 mutable functions. The used functions must
/// always return the same result for each bound variable, no matter how
/// frequently they are called.
pub struct FnMutDelegate<'db, 'a> {
- pub regions: &'a mut (dyn FnMut(BoundRegion) -> Region<'db> + 'a),
- pub types: &'a mut (dyn FnMut(BoundTy) -> Ty<'db> + 'a),
- pub consts: &'a mut (dyn FnMut(BoundConst) -> Const<'db> + 'a),
+ pub regions: &'a mut (dyn FnMut(BoundRegion<'db>) -> Region<'db> + 'a),
+ pub types: &'a mut (dyn FnMut(BoundTy<'db>) -> Ty<'db> + 'a),
+ pub consts: &'a mut (dyn FnMut(BoundConst<'db>) -> Const<'db> + 'a),
}
impl<'db, 'a> BoundVarReplacerDelegate<'db> for FnMutDelegate<'db, 'a> {
- fn replace_region(&mut self, br: BoundRegion) -> Region<'db> {
+ fn replace_region(&mut self, br: BoundRegion<'db>) -> Region<'db> {
(self.regions)(br)
}
- fn replace_ty(&mut self, bt: BoundTy) -> Ty<'db> {
+ fn replace_ty(&mut self, bt: BoundTy<'db>) -> Ty<'db> {
(self.types)(bt)
}
- fn replace_const(&mut self, bv: BoundConst) -> Const<'db> {
+ fn replace_const(&mut self, bv: BoundConst<'db>) -> Const<'db> {
(self.consts)(bv)
}
}
@@ -177,13 +177,13 @@ impl<'db> DbInterner<'db> {
self,
value: Binder<'db, T>,
mut fld_r: F,
- ) -> (T, FxIndexMap<BoundRegion, Region<'db>>)
+ ) -> (T, FxIndexMap<BoundRegion<'db>, Region<'db>>)
where
- F: FnMut(BoundRegion) -> Region<'db>,
+ F: FnMut(BoundRegion<'db>) -> Region<'db>,
T: TypeFoldable<DbInterner<'db>>,
{
let mut region_map = FxIndexMap::default();
- let real_fld_r = |br: BoundRegion| *region_map.entry(br).or_insert_with(|| fld_r(br));
+ let real_fld_r = |br: BoundRegion<'db>| *region_map.entry(br).or_insert_with(|| fld_r(br));
let value = self.instantiate_bound_regions_uncached(value, real_fld_r);
(value, region_map)
}
@@ -194,7 +194,7 @@ impl<'db> DbInterner<'db> {
mut replace_regions: F,
) -> T
where
- F: FnMut(BoundRegion) -> Region<'db>,
+ F: FnMut(BoundRegion<'db>) -> Region<'db>,
T: TypeFoldable<DbInterner<'db>>,
{
let value = value.skip_binder();