Skip to content

Commit 8cf8b25

Browse files
committed
Auto merge of #142794 - tgross35:rollup-iae7okj, r=tgross35
Rollup of 9 pull requests Successful merges: - rust-lang/rust#142331 (Add `trim_prefix` and `trim_suffix` methods for both `slice` and `str` types.) - rust-lang/rust#142491 (Rework #[cold] attribute parser) - rust-lang/rust#142494 (Fix missing docs in `rustc_attr_parsing`) - rust-lang/rust#142495 (Better template for `#[repr]` attributes) - rust-lang/rust#142497 (Fix random failure when JS code is executed when the whole file was not read yet) - rust-lang/rust#142575 (Ensure copy* intrinsics also perform the static self-init checks) - rust-lang/rust#142650 (Refactor Translator) - rust-lang/rust#142713 (mbe: Refactor transcription) - rust-lang/rust#142755 (rustdoc: Remove `FormatRenderer::cache`) r? `@ghost` `@rustbot` modify labels: rollup
2 parents f81941c + ced2bb0 commit 8cf8b25

File tree

1 file changed

+18
-38
lines changed

1 file changed

+18
-38
lines changed

src/parse/session.rs

Lines changed: 18 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
55
use rustc_data_structures::sync::IntoDynSyncSend;
66
use rustc_errors::emitter::{DynEmitter, Emitter, HumanEmitter, SilentEmitter, stderr_destination};
77
use rustc_errors::registry::Registry;
8-
use rustc_errors::translation::Translate;
8+
use rustc_errors::translation::Translator;
99
use rustc_errors::{ColorConfig, Diag, DiagCtxt, DiagInner, Level as DiagnosticLevel};
1010
use rustc_session::parse::ParseSess as RawParseSess;
1111
use rustc_span::{
@@ -47,16 +47,6 @@ impl SilentOnIgnoredFilesEmitter {
4747
}
4848
}
4949

50-
impl Translate for SilentOnIgnoredFilesEmitter {
51-
fn fluent_bundle(&self) -> Option<&rustc_errors::FluentBundle> {
52-
self.emitter.fluent_bundle()
53-
}
54-
55-
fn fallback_fluent_bundle(&self) -> &rustc_errors::FluentBundle {
56-
self.emitter.fallback_fluent_bundle()
57-
}
58-
}
59-
6050
impl Emitter for SilentOnIgnoredFilesEmitter {
6151
fn source_map(&self) -> Option<&SourceMap> {
6252
None
@@ -84,6 +74,10 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
8474
}
8575
self.handle_non_ignoreable_error(diag, registry);
8676
}
77+
78+
fn translator(&self) -> &Translator {
79+
self.emitter.translator()
80+
}
8781
}
8882

8983
impl From<Color> for ColorConfig {
@@ -110,23 +104,15 @@ fn default_dcx(
110104
ColorConfig::Never
111105
};
112106

113-
let fallback_bundle = rustc_errors::fallback_fluent_bundle(
114-
rustc_driver::DEFAULT_LOCALE_RESOURCES.to_vec(),
115-
false,
116-
);
117-
let emitter = Box::new(
118-
HumanEmitter::new(stderr_destination(emit_color), fallback_bundle)
119-
.sm(Some(source_map.clone())),
120-
);
121-
122-
let emitter: Box<DynEmitter> = if !show_parse_errors {
123-
Box::new(SilentEmitter {
124-
fatal_emitter: emitter,
125-
fatal_note: None,
126-
emit_fatal_diagnostic: false,
127-
})
107+
let translator = rustc_driver::default_translator();
108+
109+
let emitter: Box<DynEmitter> = if show_parse_errors {
110+
Box::new(
111+
HumanEmitter::new(stderr_destination(emit_color), translator)
112+
.sm(Some(source_map.clone())),
113+
)
128114
} else {
129-
emitter
115+
Box::new(SilentEmitter { translator })
130116
};
131117
DiagCtxt::new(Box::new(SilentOnIgnoredFilesEmitter {
132118
has_non_ignorable_parser_errors: false,
@@ -205,7 +191,7 @@ impl ParseSess {
205191
}
206192

207193
pub(crate) fn set_silent_emitter(&mut self) {
208-
self.raw_psess.dcx().make_silent(None, false);
194+
self.raw_psess.dcx().make_silent();
209195
}
210196

211197
pub(crate) fn span_to_filename(&self, span: Span) -> FileName {
@@ -335,16 +321,6 @@ mod tests {
335321
num_emitted_errors: Arc<AtomicU32>,
336322
}
337323

338-
impl Translate for TestEmitter {
339-
fn fluent_bundle(&self) -> Option<&rustc_errors::FluentBundle> {
340-
None
341-
}
342-
343-
fn fallback_fluent_bundle(&self) -> &rustc_errors::FluentBundle {
344-
panic!("test emitter attempted to translate a diagnostic");
345-
}
346-
}
347-
348324
impl Emitter for TestEmitter {
349325
fn source_map(&self) -> Option<&SourceMap> {
350326
None
@@ -353,6 +329,10 @@ mod tests {
353329
fn emit_diagnostic(&mut self, _diag: DiagInner, _registry: &Registry) {
354330
self.num_emitted_errors.fetch_add(1, Ordering::Release);
355331
}
332+
333+
fn translator(&self) -> &Translator {
334+
panic!("test emitter attempted to translate a diagnostic");
335+
}
356336
}
357337

358338
fn build_diagnostic(level: DiagnosticLevel, span: Option<MultiSpan>) -> DiagInner {

0 commit comments

Comments
 (0)