diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2018-06-07 05:14:32 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2018-06-26 10:31:49 -0400 |
| commit | e7a9e7aef2f90dd3e166be0c42570a70890d5dce (patch) | |
| tree | 87a1f28dd0033ffbf68c276a292d11ad813ac143 | |
| parent | 65ceec71ecf4d87e16eb8a273c7d7cde0383b772 (diff) | |
| download | rust-e7a9e7aef2f90dd3e166be0c42570a70890d5dce.tar.gz rust-e7a9e7aef2f90dd3e166be0c42570a70890d5dce.zip | |
extract a `enabled` helper to remove some ad-hoc conditionals
| -rw-r--r-- | src/librustc_mir/borrow_check/nll/facts.rs | 10 | ||||
| -rw-r--r-- | src/librustc_mir/borrow_check/nll/mod.rs | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/librustc_mir/borrow_check/nll/facts.rs b/src/librustc_mir/borrow_check/nll/facts.rs index 6cb8e64b9f5..fe2fc7e37b7 100644 --- a/src/librustc_mir/borrow_check/nll/facts.rs +++ b/src/librustc_mir/borrow_check/nll/facts.rs @@ -23,6 +23,10 @@ use std::path::Path; crate type AllFacts = PoloniusAllFacts<RegionVid, BorrowIndex, LocationIndex>; crate trait AllFactsExt { + /// Returns true if there is a need to gather `AllFacts` given the + /// current `-Z` flags. + fn enabled(tcx: TyCtxt<'_, '_, '_>) -> bool; + fn write_to_dir( &self, dir: impl AsRef<Path>, @@ -31,6 +35,12 @@ crate trait AllFactsExt { } impl AllFactsExt for AllFacts { + /// Return + fn enabled(tcx: TyCtxt<'_, '_, '_>) -> bool { + tcx.sess.opts.debugging_opts.nll_facts + || tcx.sess.opts.debugging_opts.polonius + } + fn write_to_dir( &self, dir: impl AsRef<Path>, diff --git a/src/librustc_mir/borrow_check/nll/mod.rs b/src/librustc_mir/borrow_check/nll/mod.rs index dcb52a3b18a..e26665e8291 100644 --- a/src/librustc_mir/borrow_check/nll/mod.rs +++ b/src/librustc_mir/borrow_check/nll/mod.rs @@ -91,9 +91,7 @@ pub(in borrow_check) fn compute_regions<'cx, 'gcx, 'tcx>( Option<Rc<Output<RegionVid, BorrowIndex, LocationIndex>>>, Option<ClosureRegionRequirements<'gcx>>, ) { - let mut all_facts = if infcx.tcx.sess.opts.debugging_opts.nll_facts - || infcx.tcx.sess.opts.debugging_opts.polonius - { + let mut all_facts = if AllFacts::enabled(infcx.tcx) { Some(AllFacts::default()) } else { None |
