Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1177 from marmistrz/master
Browse files Browse the repository at this point in the history
Workaround #703 to prevent obscure failures due to sccache.
  • Loading branch information
Xanewok committed Dec 10, 2018
2 parents c84b8ad + 05d1d99 commit fbf32ff
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
)]
extern "C" {}

use log::warn;
use env_logger;
use rustc_tools_util::*;

Expand All @@ -60,6 +61,7 @@ pub mod server;
mod test;

const RUSTC_SHIM_ENV_VAR_NAME: &str = "RLS_RUSTC_SHIM";
const RUSTC_WRAPPER_ENV_VAR: &str = "RUSTC_WRAPPER";

type Span = rls_span::Span<rls_span::ZeroIndexed>;

Expand All @@ -73,6 +75,19 @@ pub fn main() {
fn main_inner() -> i32 {
env_logger::init();

// [workaround]
// Currently sccache breaks RLS with obscure error messages.
// Until it's actually fixed disable the wrapper completely
// in the current process tree.
//
// See https://github.com/rust-lang/rls/issues/703
// and https://github.com/mozilla/sccache/issues/303
if env::var_os(RUSTC_WRAPPER_ENV_VAR).is_some() {
warn!("The {} environment variable is incompatible with RLS, \
removing it from the process environment", RUSTC_WRAPPER_ENV_VAR);
env::remove_var(RUSTC_WRAPPER_ENV_VAR);
}

if env::var(RUSTC_SHIM_ENV_VAR_NAME)
.map(|v| v != "0")
.unwrap_or(false)
Expand Down

0 comments on commit fbf32ff

Please sign in to comment.