Skip to content

Commit 508d4a2

Browse files
committed
Remove another Rc from RegionInferenceContext
1 parent 4b46271 commit 508d4a2

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

src/librustc_mir/borrow_check/region_infer/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ pub struct RegionInferenceContext<'tcx> {
113113

114114
/// Information about how the universally quantified regions in
115115
/// scope on this function relate to one another.
116-
universal_region_relations: Rc<UniversalRegionRelations<'tcx>>,
116+
universal_region_relations: Frozen<UniversalRegionRelations<'tcx>>,
117117
}
118118

119119
/// Each time that `apply_member_constraint` is successful, it appends
@@ -243,11 +243,11 @@ impl<'tcx> RegionInferenceContext<'tcx> {
243243
///
244244
/// The `outlives_constraints` and `type_tests` are an initial set
245245
/// of constraints produced by the MIR type check.
246-
pub(crate) fn new(
246+
pub(in crate::borrow_check) fn new(
247247
var_infos: VarInfos,
248248
universal_regions: Rc<UniversalRegions<'tcx>>,
249249
placeholder_indices: Rc<PlaceholderIndices>,
250-
universal_region_relations: Rc<UniversalRegionRelations<'tcx>>,
250+
universal_region_relations: Frozen<UniversalRegionRelations<'tcx>>,
251251
outlives_constraints: OutlivesConstraintSet,
252252
member_constraints_in: MemberConstraintSet<'tcx, RegionVid>,
253253
closure_bounds_mapping: FxHashMap<

src/librustc_mir/borrow_check/type_check/free_region_relations.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use crate::borrow_check::{
1515
type_check::constraint_conversion,
1616
type_check::{Locations, MirTypeckRegionConstraints},
1717
universal_regions::UniversalRegions,
18+
Frozen,
1819
};
1920

2021
#[derive(Debug)]
@@ -52,7 +53,7 @@ type RegionBoundPairs<'tcx> = Vec<(ty::Region<'tcx>, GenericKind<'tcx>)>;
5253
type NormalizedInputsAndOutput<'tcx> = Vec<Ty<'tcx>>;
5354

5455
crate struct CreateResult<'tcx> {
55-
crate universal_region_relations: Rc<UniversalRegionRelations<'tcx>>,
56+
pub(in crate::borrow_check) universal_region_relations: Frozen<UniversalRegionRelations<'tcx>>,
5657
crate region_bound_pairs: RegionBoundPairs<'tcx>,
5758
crate normalized_inputs_and_output: NormalizedInputsAndOutput<'tcx>,
5859
}
@@ -297,7 +298,7 @@ impl UniversalRegionRelationsBuilder<'cx, 'tcx> {
297298
}
298299

299300
CreateResult {
300-
universal_region_relations: Rc::new(self.relations),
301+
universal_region_relations: Frozen::freeze(self.relations),
301302
region_bound_pairs: self.region_bound_pairs,
302303
normalized_inputs_and_output,
303304
}

src/librustc_mir/borrow_check/type_check/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ use crate::borrow_check::{
5555
renumber,
5656
type_check::free_region_relations::{CreateResult, UniversalRegionRelations},
5757
universal_regions::{DefiningTy, UniversalRegions},
58+
Frozen,
5859
};
5960

6061
macro_rules! span_mirbug {
@@ -828,7 +829,7 @@ struct BorrowCheckContext<'a, 'tcx> {
828829

829830
crate struct MirTypeckResults<'tcx> {
830831
crate constraints: MirTypeckRegionConstraints<'tcx>,
831-
crate universal_region_relations: Rc<UniversalRegionRelations<'tcx>>,
832+
pub(in crate::borrow_check) universal_region_relations: Frozen<UniversalRegionRelations<'tcx>>,
832833
crate opaque_type_values: FxHashMap<DefId, ty::ResolvedOpaqueTy<'tcx>>,
833834
}
834835

0 commit comments

Comments
 (0)