Skip to content

Commit da792f0

Browse files
committed
tmp: use polonius loan scopes to see how terribly slow it is
1 parent 558bfe0 commit da792f0

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

compiler/rustc_borrowck/src/dataflow.rs

+6-14
Original file line numberDiff line numberDiff line change
@@ -420,13 +420,10 @@ impl<'a, 'tcx> Borrows<'a, 'tcx> {
420420
regioncx: &'a RegionInferenceContext<'tcx>,
421421
borrow_set: &'a BorrowSet<'tcx>,
422422
) -> Self {
423-
let mut borrows_out_of_scope_at_location =
424-
calculate_borrows_out_of_scope_at_location(body, regioncx, borrow_set);
425-
426-
// The in-tree polonius analysis computes loans going out of scope using the set-of-loans
427-
// model, and makes sure they're identical to the existing computation of the set-of-points
428-
// model.
429-
if tcx.sess.opts.unstable_opts.polonius.is_next_enabled() {
423+
let borrows_out_of_scope_at_location = {
424+
// The in-tree polonius analysis computes loans going out of scope using the set-of-loans
425+
// model, and makes sure they're identical to the existing computation of the set-of-points
426+
// model.
430427
let mut polonius_prec = PoloniusOutOfScopePrecomputer::new(body, regioncx);
431428
for (loan_idx, loan_data) in borrow_set.iter_enumerated() {
432429
let issuing_region = loan_data.region;
@@ -439,13 +436,8 @@ impl<'a, 'tcx> Borrows<'a, 'tcx> {
439436
);
440437
}
441438

442-
assert_eq!(
443-
polonius_prec.loans_out_of_scope_at_location, borrows_out_of_scope_at_location,
444-
"the loans out of scope are different from the borrows out of scope"
445-
);
446-
447-
borrows_out_of_scope_at_location = polonius_prec.loans_out_of_scope_at_location;
448-
}
439+
polonius_prec.loans_out_of_scope_at_location
440+
};
449441

450442
Borrows { tcx, body, borrow_set, borrows_out_of_scope_at_location }
451443
}

0 commit comments

Comments
 (0)