From 0a2d7f83cb3aea0556ef7cfd7662a028ac974d87 Mon Sep 17 00:00:00 2001 From: Jhonny Bill Mena Date: Fri, 26 Aug 2022 20:21:55 -0400 Subject: [PATCH] UPDATE - LibDefWriteFailure to accept type instead of formatted string MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This follows team’s suggestions in this thread https://rust-lang.zulipchat.com/#narrow/stream/336883-i18n/topic/.23100717.20diag.20translation/near/295305249 --- compiler/rustc_codegen_ssa/src/back/linker.rs | 12 ++++++------ compiler/rustc_codegen_ssa/src/errors.rs | 3 ++- .../locales/en-US/codegen_ssa.ftl | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs b/compiler/rustc_codegen_ssa/src/back/linker.rs index 60547acc956..e9335e53125 100644 --- a/compiler/rustc_codegen_ssa/src/back/linker.rs +++ b/compiler/rustc_codegen_ssa/src/back/linker.rs @@ -666,8 +666,8 @@ fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType, symbols: &[St writeln!(f, "_{}", sym)?; } }; - if let Err(e) = res { - self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") }); + if let Err(error) = res { + self.sess.emit_fatal(LibDefWriteFailure { error }); } } else if is_windows { let res: io::Result<()> = try { @@ -681,8 +681,8 @@ fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType, symbols: &[St writeln!(f, " {}", symbol)?; } }; - if let Err(e) = res { - self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") }); + if let Err(error) = res { + self.sess.emit_fatal(LibDefWriteFailure { error }); } } else { // Write an LD version script @@ -972,8 +972,8 @@ fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType, symbols: &[St writeln!(f, " {}", symbol)?; } }; - if let Err(e) = res { - self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") }); + if let Err(error) = res { + self.sess.emit_fatal(LibDefWriteFailure { error }); } let mut arg = OsString::from("/DEF:"); arg.push(path); diff --git a/compiler/rustc_codegen_ssa/src/errors.rs b/compiler/rustc_codegen_ssa/src/errors.rs index 718ad5c7bf5..13d9c1a7b6b 100644 --- a/compiler/rustc_codegen_ssa/src/errors.rs +++ b/compiler/rustc_codegen_ssa/src/errors.rs @@ -1,6 +1,7 @@ //! Errors emitted by codegen_ssa use rustc_macros::SessionDiagnostic; +use std::io::Error; #[derive(SessionDiagnostic)] #[diag(codegen_ssa::missing_native_static_library)] @@ -11,5 +12,5 @@ pub struct MissingNativeStaticLibrary<'a> { #[derive(SessionDiagnostic)] #[diag(codegen_ssa::lib_def_write_failure)] pub struct LibDefWriteFailure { - pub error_description: String, + pub error: Error, } diff --git a/compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl b/compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl index 597f3488fc1..d84a774710a 100644 --- a/compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl +++ b/compiler/rustc_error_messages/locales/en-US/codegen_ssa.ftl @@ -1,3 +1,3 @@ codegen_ssa_missing_native_static_library = could not find native static library `{$library_name}`, perhaps an -L flag is missing? -codegen_ssa_lib_def_write_failure = failed to write lib.def file: {$error_description} +codegen_ssa_lib_def_write_failure = failed to write lib.def file: {$error} -- 2.44.0