mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Add environment variable tracking in places where it was convenient
This won't work with Cargo's change tracking, but it should work with incremental.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
//! The entry point of the NLL borrow checker.
|
||||
|
||||
use std::io;
|
||||
use std::path::PathBuf;
|
||||
use std::rc::Rc;
|
||||
use std::str::FromStr;
|
||||
use std::{env, io};
|
||||
|
||||
use polonius_engine::{Algorithm, Output};
|
||||
use rustc_index::IndexSlice;
|
||||
@@ -162,9 +162,8 @@ pub(crate) fn compute_regions<'a, 'tcx>(
|
||||
}
|
||||
|
||||
if polonius_output {
|
||||
let algorithm =
|
||||
env::var("POLONIUS_ALGORITHM").unwrap_or_else(|_| String::from("Hybrid"));
|
||||
let algorithm = Algorithm::from_str(&algorithm).unwrap();
|
||||
let algorithm = infcx.tcx.env_var("POLONIUS_ALGORITHM").unwrap_or("Hybrid");
|
||||
let algorithm = Algorithm::from_str(algorithm).unwrap();
|
||||
debug!("compute_regions: using polonius algorithm {:?}", algorithm);
|
||||
let _prof_timer = infcx.tcx.prof.generic_activity("polonius_analysis");
|
||||
Some(Box::new(Output::compute(polonius_facts, algorithm, false)))
|
||||
|
||||
@@ -104,8 +104,10 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'tcx>) {
|
||||
// determining if we are in a doctest context can't currently be determined
|
||||
// by the code itself (there are no specific attributes), but fortunately rustdoc
|
||||
// sets a perma-unstable env var for libtest so we just reuse that for now
|
||||
let is_at_toplevel_doctest =
|
||||
|| self.body_depth == 2 && std::env::var("UNSTABLE_RUSTDOC_TEST_PATH").is_ok();
|
||||
let is_at_toplevel_doctest = || {
|
||||
self.body_depth == 2
|
||||
&& cx.tcx.env_var_os("UNSTABLE_RUSTDOC_TEST_PATH".as_ref()).is_some()
|
||||
};
|
||||
|
||||
match item.kind {
|
||||
ItemKind::Impl(impl_) => {
|
||||
|
||||
Reference in New Issue
Block a user