From 262ff86138730c1eb65f3ec39dd9c93222ed77e7 Mon Sep 17 00:00:00 2001 From: mejrs <> Date: Sun, 8 Jan 2023 23:35:43 +0100 Subject: [PATCH] Make translate_message return result and add tests --- compiler/rustc_errors/src/emitter.rs | 11 +- compiler/rustc_errors/src/error.rs | 7 +- compiler/rustc_errors/src/json.rs | 9 +- compiler/rustc_errors/src/lib.rs | 12 +- compiler/rustc_errors/src/tests.rs | 183 ++++++++++++++++++ compiler/rustc_errors/src/translation.rs | 15 +- .../passes/lint/check_code_block_syntax.rs | 4 +- 7 files changed, 224 insertions(+), 17 deletions(-) create mode 100644 compiler/rustc_errors/src/tests.rs diff --git a/compiler/rustc_errors/src/emitter.rs b/compiler/rustc_errors/src/emitter.rs index 0ca200abe19..7f01df32101 100644 --- a/compiler/rustc_errors/src/emitter.rs +++ b/compiler/rustc_errors/src/emitter.rs @@ -28,6 +28,7 @@ use rustc_span::hygiene::{ExpnKind, MacroKind}; use std::borrow::Cow; use std::cmp::{max, min, Reverse}; +use std::error::Report; use std::io::prelude::*; use std::io::{self, IsTerminal}; use std::iter; @@ -250,7 +251,7 @@ fn primary_span_formatted<'a>( let mut primary_span = diag.span.clone(); let suggestions = diag.suggestions.as_deref().unwrap_or(&[]); if let Some((sugg, rest)) = suggestions.split_first() { - let msg = self.translate_message(&sugg.msg, fluent_args); + let msg = self.translate_message(&sugg.msg, fluent_args).map_err(Report::new).unwrap(); if rest.is_empty() && // ^ if there is only one suggestion // don't display multi-suggestions as labels @@ -1325,7 +1326,7 @@ fn style_or_override(style: Style, override_: Option