diff options
| author | nils <48135649+Nilstrieb@users.noreply.github.com> | 2023-01-11 17:30:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-11 17:30:54 +0100 |
| commit | 73476554e9f89245be50195d5ff8e66cc5e64c82 (patch) | |
| tree | 291180ff80c335e8552b10fc87c733f099e0a0c1 /compiler/rustc_errors/src/lib.rs | |
| parent | 16938915a46c64dd83f02dee85e5b4eba6891076 (diff) | |
| parent | 4c0c32c895df28b762a61958b21cbe4d68f60238 (diff) | |
Rollup merge of #106427 - mejrs:translation_errors, r=davidtwco
Improve fluent error messages These have been really frustrating me while migrating diagnostics.
Diffstat (limited to 'compiler/rustc_errors/src/lib.rs')
| -rw-r--r-- | compiler/rustc_errors/src/lib.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/compiler/rustc_errors/src/lib.rs b/compiler/rustc_errors/src/lib.rs index 66e5c41f56c..535812fb0e2 100644 --- a/compiler/rustc_errors/src/lib.rs +++ b/compiler/rustc_errors/src/lib.rs @@ -11,6 +11,10 @@ #![feature(never_type)] #![feature(result_option_inspect)] #![feature(rustc_attrs)] +#![feature(yeet_expr)] +#![feature(try_blocks)] +#![feature(box_patterns)] +#![feature(error_reporter)] #![allow(incomplete_features)] #[macro_use] @@ -41,6 +45,7 @@ use rustc_span::HashStableContext; use rustc_span::{Loc, Span}; use std::borrow::Cow; +use std::error::Report; use std::fmt; use std::hash::Hash; use std::num::NonZeroUsize; @@ -54,11 +59,14 @@ mod diagnostic; mod diagnostic_builder; mod diagnostic_impls; pub mod emitter; +pub mod error; pub mod json; mod lock; pub mod registry; mod snippet; mod styled_buffer; +#[cfg(test)] +mod tests; pub mod translation; pub use diagnostic_builder::IntoDiagnostic; @@ -616,7 +624,14 @@ impl Handler { ) -> SubdiagnosticMessage { let inner = self.inner.borrow(); let args = crate::translation::to_fluent_args(args); - SubdiagnosticMessage::Eager(inner.emitter.translate_message(&message, &args).to_string()) + SubdiagnosticMessage::Eager( + inner + .emitter + .translate_message(&message, &args) + .map_err(Report::new) + .unwrap() + .to_string(), + ) } // This is here to not allow mutation of flags; |
