Skip to content

Commit aae5ccc

Browse files
committed
Fix nits
1 parent e647018 commit aae5ccc

File tree

7 files changed

+39
-58
lines changed

7 files changed

+39
-58
lines changed

compiler/rustc_borrowck/src/diagnostics/find_use.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pub(crate) fn find<'tcx>(
1515
region_vid: RegionVid,
1616
start_point: Location,
1717
) -> Option<Cause> {
18-
let mut uf = UseFinder { body, tcx, region_vid, start_point, scc_values: &scc_values };
18+
let mut uf = UseFinder { body, tcx, region_vid, start_point, scc_values };
1919

2020
uf.find()
2121
}

compiler/rustc_borrowck/src/diagnostics/opaque_types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
208208
struct FindOpaqueRegion<'a, 'tcx> {
209209
tcx: TyCtxt<'tcx>,
210210
constraint_search: ConstraintSearch<'a, 'tcx>,
211-
borrow_region: ty::RegionVid,
212211
universal_regions: &'a UniversalRegions<'tcx>,
212+
borrow_region: ty::RegionVid,
213213
}
214214

215215
impl<'tcx> TypeVisitor<TyCtxt<'tcx>> for FindOpaqueRegion<'_, 'tcx> {

compiler/rustc_borrowck/src/diagnostics/region_name.rs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ impl<'tcx> MirBorrowckCtxt<'_, '_, 'tcx> {
248248
self.next_region_name.try_borrow().unwrap()
249249
);
250250

251-
//FIXME! assert!(self.regioncx.universal_regions().is_universal_region(fr));
251+
assert!(self.universal_regions().is_universal_region(fr));
252252

253253
match self.region_names.borrow_mut().entry(fr) {
254254
IndexEntry::Occupied(precomputed_name) => Some(*precomputed_name.get()),
@@ -385,13 +385,12 @@ impl<'tcx> MirBorrowckCtxt<'_, '_, 'tcx> {
385385
&self,
386386
fr: RegionVid,
387387
) -> Option<RegionName> {
388-
let implicit_inputs = self.universal_regions().defining_ty.implicit_inputs();
389-
let argument_index =
390-
self.universal_regions().get_argument_index_for_region(self.infcx.tcx, fr)?;
388+
let universals = self.universal_regions();
389+
let implicit_inputs = universals.defining_ty.implicit_inputs();
390+
let argument_index = universals.get_argument_index_for_region(self.infcx.tcx, fr)?;
391391

392-
let arg_ty =
393-
self.universal_regions().unnormalized_input_tys[implicit_inputs + argument_index];
394-
let (_, span) = self.universal_regions().get_argument_name_and_span_for_region(
392+
let arg_ty = universals.unnormalized_input_tys[implicit_inputs + argument_index];
393+
let (_, span) = universals.get_argument_name_and_span_for_region(
395394
self.body,
396395
self.local_names(),
397396
argument_index,
@@ -644,13 +643,10 @@ impl<'tcx> MirBorrowckCtxt<'_, '_, 'tcx> {
644643
/// ```
645644
#[instrument(level = "trace", skip(self))]
646645
fn give_name_if_anonymous_region_appears_in_upvars(&self, fr: RegionVid) -> Option<RegionName> {
647-
let upvar_index =
648-
self.universal_regions().get_upvar_index_for_region(self.infcx.tcx, fr)?;
649-
let (upvar_name, upvar_span) = self.universal_regions().get_upvar_name_and_span_for_region(
650-
self.infcx.tcx,
651-
self.upvars,
652-
upvar_index,
653-
);
646+
let universals = self.universal_regions();
647+
let upvar_index = universals.get_upvar_index_for_region(self.infcx.tcx, fr)?;
648+
let (upvar_name, upvar_span) =
649+
universals.get_upvar_name_and_span_for_region(self.infcx.tcx, self.upvars, upvar_index);
654650
let region_name = self.synthesize_region_name();
655651

656652
Some(RegionName {

compiler/rustc_borrowck/src/nll.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,12 @@ pub(crate) fn compute_closure_requirements_modulo_opaques<'tcx>(
9797
body: &Body<'tcx>,
9898
location_map: Rc<DenseLocationMap>,
9999
universal_region_relations: Rc<Frozen<UniversalRegionRelations<'tcx>>>,
100-
constraints: &MirTypeckRegionConstraints<'tcx>,
100+
constraints: &mut MirTypeckRegionConstraints<'tcx>,
101101
) -> Option<ClosureRegionRequirements<'tcx>> {
102-
// These clones can more or less be avoided,
103-
// since they are probably idempotent.
104-
let mut liveness_constraints = constraints.liveness_constraints.clone();
105-
let mut outlives_constraints = constraints.outlives_constraints.clone();
106102
let LoweredConstraints { constraint_sccs, definitions, scc_annotations } =
107103
compute_sccs_applying_placeholder_outlives_constraints(
108-
&mut liveness_constraints,
109-
&mut outlives_constraints,
104+
&mut constraints.liveness_constraints,
105+
&mut constraints.outlives_constraints,
110106
&universal_region_relations,
111107
infcx,
112108
);
@@ -117,9 +113,9 @@ pub(crate) fn compute_closure_requirements_modulo_opaques<'tcx>(
117113
constraint_sccs,
118114
&definitions,
119115
scc_annotations,
120-
&outlives_constraints,
116+
&constraints.outlives_constraints,
121117
&constraints.type_tests,
122-
&mut liveness_constraints,
118+
&mut constraints.liveness_constraints,
123119
universal_region_relations,
124120
body,
125121
None,
@@ -332,8 +328,9 @@ pub(crate) fn emit_nll_mir<'tcx>(
332328
universal_region_relations,
333329
outlives_constraints,
334330
liveness_constraints,
331+
scc_values,
335332
}
336-
.dump_mir(scc_values, out)?;
333+
.dump_mir(out)?;
337334
writeln!(out, "|")?;
338335

339336
if let Some(closure_region_requirements) = closure_region_requirements {

compiler/rustc_borrowck/src/region_infer/dump_mir.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,12 @@ pub(crate) struct MirDumper<'a, 'tcx> {
2828
pub(crate) universal_region_relations: &'a UniversalRegionRelations<'tcx>,
2929
pub(crate) outlives_constraints: &'a OutlivesConstraintSet<'tcx>,
3030
pub(crate) liveness_constraints: &'a LivenessValues,
31+
pub(crate) scc_values: &'a InferredRegions<'tcx>,
3132
}
3233

3334
impl<'a, 'tcx> MirDumper<'a, 'tcx> {
3435
/// Write out our state into the `.mir` files.
35-
pub(crate) fn dump_mir(
36-
&self,
37-
scc_values: &InferredRegions<'tcx>,
38-
out: &mut dyn Write,
39-
) -> io::Result<()> {
36+
pub(crate) fn dump_mir(&self, out: &mut dyn Write) -> io::Result<()> {
4037
writeln!(out, "| Free Region Mapping")?;
4138

4239
for region in self.regions() {
@@ -64,8 +61,8 @@ impl<'a, 'tcx> MirDumper<'a, 'tcx> {
6461
"| {r:rw$?} | {ui:4?} | {v}",
6562
r = region,
6663
rw = REGION_WIDTH,
67-
ui = scc_values.max_nameable_universe(region),
68-
v = scc_values.region_value_str(region),
64+
ui = self.scc_values.max_nameable_universe(region),
65+
v = self.scc_values.region_value_str(region),
6966
)?;
7067
}
7168

compiler/rustc_borrowck/src/region_infer/mod.rs

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -718,16 +718,9 @@ impl<'a, 'tcx> RegionInferenceContext<'a, 'tcx> {
718718
/// unsatisfiable constraints. If this is a closure, returns the
719719
/// region requirements to propagate to our creator, if any.
720720
#[instrument(
721-
skip(
722-
infcx,
723-
body,
724-
polonius_output,
725-
location_map,
726-
placeholder_indices,
727-
constraint_sccs,
728-
liveness_constraints
729-
),
730-
level = "debug"
721+
skip_all,
722+
level = "debug",
723+
fields(definitions, type_tests, universal_region_relations)
731724
)]
732725
pub(super) fn infer_regions(
733726
infcx: &BorrowckInferCtxt<'tcx>,
@@ -746,19 +739,17 @@ impl<'a, 'tcx> RegionInferenceContext<'a, 'tcx> {
746739
let num_external_vids =
747740
universal_region_relations.universal_regions.num_global_and_external_regions();
748741

749-
let regioncx = {
750-
if cfg!(debug_assertions) {
751-
sccs_info(infcx, &constraint_sccs);
752-
}
742+
if cfg!(debug_assertions) {
743+
sccs_info(infcx, &constraint_sccs);
744+
}
753745

754-
Self {
755-
definitions,
756-
liveness_constraints,
757-
constraints: outlives_constraints,
758-
constraint_sccs,
759-
scc_annotations,
760-
universal_region_relations,
761-
}
746+
let regioncx = Self {
747+
definitions,
748+
liveness_constraints,
749+
constraints: outlives_constraints,
750+
constraint_sccs,
751+
scc_annotations,
752+
universal_region_relations,
762753
};
763754

764755
let mir_def_id = body.source.def_id();

compiler/rustc_borrowck/src/root_cx.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ impl<'tcx> BorrowCheckRootCtxt<'tcx> {
193193
// and write its result into `propagated_borrowck_results`.
194194
if depends_on_opaques {
195195
if def_id != self.root_def_id {
196-
let req = Self::compute_closure_requirements_modulo_opaques(&input);
196+
let req = Self::compute_closure_requirements_modulo_opaques(&mut input);
197197
closure_requirements_modulo_opaques.insert(def_id, req);
198198
}
199199
self.collect_region_constraints_results.insert(def_id, input);
@@ -206,14 +206,14 @@ impl<'tcx> BorrowCheckRootCtxt<'tcx> {
206206
}
207207

208208
fn compute_closure_requirements_modulo_opaques(
209-
input: &CollectRegionConstraintsResult<'tcx>,
209+
input: &mut CollectRegionConstraintsResult<'tcx>,
210210
) -> Option<ClosureRegionRequirements<'tcx>> {
211211
compute_closure_requirements_modulo_opaques(
212212
&input.infcx,
213213
&input.body_owned,
214214
Rc::clone(&input.location_map),
215215
Rc::clone(&input.universal_region_relations),
216-
&input.constraints,
216+
&mut input.constraints,
217217
)
218218
}
219219

0 commit comments

Comments
 (0)