about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorGiacomo Stevanato <giaco.stevanato@gmail.com>2022-08-22 15:58:26 +0200
committerGiacomo Stevanato <giaco.stevanato@gmail.com>2022-08-22 20:09:18 +0200
commit645de5b825987473f02b6ac62cfe915602be4c28 (patch)
treee736a65eadfb10a37dc0502ce19ee6968d104cef /compiler/rustc_interface/src
parent0d80ee705f8a7acb65b5ecb05ae0e6deaa97bb53 (diff)
downloadrust-645de5b825987473f02b6ac62cfe915602be4c28.tar.gz
rust-645de5b825987473f02b6ac62cfe915602be4c28.zip
Remove use of DiagnosticArgFromDisplay
Diffstat (limited to 'compiler/rustc_interface/src')
-rw-r--r--compiler/rustc_interface/src/errors.rs22
-rw-r--r--compiler/rustc_interface/src/passes.rs22
-rw-r--r--compiler/rustc_interface/src/queries.rs8
3 files changed, 22 insertions, 30 deletions
diff --git a/compiler/rustc_interface/src/errors.rs b/compiler/rustc_interface/src/errors.rs
index a72134e31f1..6a497aed4ab 100644
--- a/compiler/rustc_interface/src/errors.rs
+++ b/compiler/rustc_interface/src/errors.rs
@@ -1,7 +1,9 @@
-use rustc_errors::DiagnosticArgFromDisplay;
 use rustc_macros::SessionDiagnostic;
 use rustc_span::{Span, Symbol};
 
+use std::io;
+use std::path::Path;
+
 #[derive(SessionDiagnostic)]
 #[diag(interface::ferris_identifier)]
 pub struct FerrisIdentifier {
@@ -34,21 +36,21 @@ pub struct ProcMacroDocWithoutArg;
 #[derive(SessionDiagnostic)]
 #[diag(interface::error_writing_dependencies)]
 pub struct ErrorWritingDependencies<'a> {
-    pub path: DiagnosticArgFromDisplay<'a>,
-    pub error: DiagnosticArgFromDisplay<'a>,
+    pub path: &'a Path,
+    pub error: io::Error,
 }
 
 #[derive(SessionDiagnostic)]
 #[diag(interface::input_file_would_be_overwritten)]
 pub struct InputFileWouldBeOverWritten<'a> {
-    pub path: DiagnosticArgFromDisplay<'a>,
+    pub path: &'a Path,
 }
 
 #[derive(SessionDiagnostic)]
 #[diag(interface::generated_file_conflicts_with_directory)]
 pub struct GeneratedFileConflictsWithDirectory<'a> {
-    pub input_path: DiagnosticArgFromDisplay<'a>,
-    pub dir_path: DiagnosticArgFromDisplay<'a>,
+    pub input_path: &'a Path,
+    pub dir_path: &'a Path,
 }
 
 #[derive(SessionDiagnostic)]
@@ -61,8 +63,8 @@ pub struct OutDirError;
 
 #[derive(SessionDiagnostic)]
 #[diag(interface::cant_emit_mir)]
-pub struct CantEmitMIR<'a> {
-    pub error: DiagnosticArgFromDisplay<'a>,
+pub struct CantEmitMIR {
+    pub error: io::Error,
 }
 
 #[derive(SessionDiagnostic)]
@@ -82,6 +84,6 @@ pub struct RustcErrorUnexpectedAnnotation {
 #[derive(SessionDiagnostic)]
 #[diag(interface::failed_writing_file)]
 pub struct FailedWritingFile<'a> {
-    pub path: DiagnosticArgFromDisplay<'a>,
-    pub error: DiagnosticArgFromDisplay<'a>,
+    pub path: &'a Path,
+    pub error: io::Error,
 }
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs
index b58fd7b338c..269d4c3795a 100644
--- a/compiler/rustc_interface/src/passes.rs
+++ b/compiler/rustc_interface/src/passes.rs
@@ -647,11 +647,8 @@ fn write_out_deps(
                     .emit_artifact_notification(&deps_filename, "dep-info");
             }
         }
-        Err(e) => {
-            sess.emit_fatal(ErrorWritingDependencies {
-                path: (&deps_filename.display()).into(),
-                error: (&e).into(),
-            });
+        Err(error) => {
+            sess.emit_fatal(ErrorWritingDependencies { path: &deps_filename, error });
         }
     }
 }
@@ -682,15 +679,12 @@ pub fn prepare_outputs(
     if let Some(ref input_path) = compiler.input_path {
         if sess.opts.will_create_output_file() {
             if output_contains_path(&output_paths, input_path) {
-                let reported = sess
-                    .emit_err(InputFileWouldBeOverWritten { path: (&input_path.display()).into() });
+                let reported = sess.emit_err(InputFileWouldBeOverWritten { path: input_path });
                 return Err(reported);
             }
-            if let Some(dir_path) = output_conflicts_with_dir(&output_paths) {
-                let reported = sess.emit_err(GeneratedFileConflictsWithDirectory {
-                    input_path: (&input_path.display()).into(),
-                    dir_path: (&dir_path.display()).into(),
-                });
+            if let Some(ref dir_path) = output_conflicts_with_dir(&output_paths) {
+                let reported =
+                    sess.emit_err(GeneratedFileConflictsWithDirectory { input_path, dir_path });
                 return Err(reported);
             }
         }
@@ -994,8 +988,8 @@ pub fn start_codegen<'tcx>(
     info!("Post-codegen\n{:?}", tcx.debug_stats());
 
     if tcx.sess.opts.output_types.contains_key(&OutputType::Mir) {
-        if let Err(e) = rustc_mir_transform::dump_mir::emit_mir(tcx, outputs) {
-            tcx.sess.emit_err(CantEmitMIR { error: (&e).into() });
+        if let Err(error) = rustc_mir_transform::dump_mir::emit_mir(tcx, outputs) {
+            tcx.sess.emit_err(CantEmitMIR { error });
             tcx.sess.abort_if_errors();
         }
     }
diff --git a/compiler/rustc_interface/src/queries.rs b/compiler/rustc_interface/src/queries.rs
index e0e8752036e..65fa8d7495a 100644
--- a/compiler/rustc_interface/src/queries.rs
+++ b/compiler/rustc_interface/src/queries.rs
@@ -357,12 +357,8 @@ impl Linker {
         if sess.opts.unstable_opts.no_link {
             let encoded = CodegenResults::serialize_rlink(&codegen_results);
             let rlink_file = self.prepare_outputs.with_extension(config::RLINK_EXT);
-            std::fs::write(&rlink_file, encoded).map_err(|err| {
-                sess.emit_fatal(FailedWritingFile {
-                    path: (&rlink_file.display()).into(),
-                    error: (&err).into(),
-                })
-            })?;
+            std::fs::write(&rlink_file, encoded)
+                .map_err(|error| sess.emit_fatal(FailedWritingFile { path: &rlink_file, error }))?;
             return Ok(());
         }