From 11d758a7a849f2929ffb30651e4b8d74a3cef5be Mon Sep 17 00:00:00 2001 From: Laurent Arnoud Date: Tue, 24 Oct 2017 22:07:50 +0200 Subject: [PATCH 1/3] Use expect for current_dir on librustc/session mod --- src/librustc/session/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index 42c633dc83fe5..cc27f61e369b7 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -776,7 +776,9 @@ 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().unwrap().to_string_lossy().into_owned(); + let working_dir = env::current_dir() + .expect("Could not find current working directory") + .to_string_lossy().into_owned(); let working_dir = file_path_mapping.map_prefix(working_dir); let sess = Session { From 5773efab5c4d4d234cecef32f95f16ce8783c285 Mon Sep 17 00:00:00 2001 From: Laurent Arnoud Date: Fri, 27 Oct 2017 19:14:03 +0200 Subject: [PATCH 2/3] Quit immediately when current directory is invalid Thanks-to: @kennytm --- src/librustc/session/mod.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index cc27f61e369b7..a72be733f4b6f 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 { From cfc916ebf8a9039e321924ed111727c2fcfb3e70 Mon Sep 17 00:00:00 2001 From: Laurent Arnoud Date: Fri, 27 Oct 2017 19:31:33 +0200 Subject: [PATCH 3/3] Fix tidy error line longer than 100 chars --- src/librustc/session/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index a72be733f4b6f..c87881341daa2 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -778,7 +778,9 @@ pub fn build_session_(sopts: config::Options, 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))), + Err(e) => { + panic!(p_s.span_diagnostic.fatal(&format!("Current directory is invalid: {}", e))) + } }; let working_dir = file_path_mapping.map_prefix(working_dir);