diff options
| author | Laurent Arnoud <laurent@spkdev.net> | 2017-10-27 19:14:03 +0200 |
|---|---|---|
| committer | Laurent Arnoud <laurent@spkdev.net> | 2017-10-27 19:14:22 +0200 |
| commit | 5773efab5c4d4d234cecef32f95f16ce8783c285 (patch) | |
| tree | 0759c28eff9d97a6cd8be6e97767f2791231be5f | |
| parent | 11d758a7a849f2929ffb30651e4b8d74a3cef5be (diff) | |
| download | rust-5773efab5c4d4d234cecef32f95f16ce8783c285.tar.gz rust-5773efab5c4d4d234cecef32f95f16ce8783c285.zip | |
Quit immediately when current directory is invalid
Thanks-to: @kennytm
| -rw-r--r-- | src/librustc/session/mod.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index cc27f61e369..a72be733f4b 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -776,9 +776,10 @@ pub fn build_session_(sopts: config::Options, let print_fuel_crate = sopts.debugging_opts.print_fuel.clone(); let print_fuel = Cell::new(0); - let working_dir = env::current_dir() - .expect("Could not find current working directory") - .to_string_lossy().into_owned(); + let working_dir = match env::current_dir() { + Ok(dir) => dir.to_string_lossy().into_owned(), + Err(e) => panic!(p_s.span_diagnostic.fatal(&format!("Current directory is invalid: {}", e))), + }; let working_dir = file_path_mapping.map_prefix(working_dir); let sess = Session { |
