diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-03-05 19:53:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-05 19:53:18 +0100 |
| commit | 9153451a912b08a84ce313fcdcdcbda2ab92a600 (patch) | |
| tree | dca88c23faa6b6e9a5fbb125cc70053fb2e7a812 /compiler/rustc_session/src | |
| parent | 640648b8932aa094b746c0de7012c7d2bd9955e8 (diff) | |
| parent | 2ee0409f323574af15c5d75dbfc42b1721720de8 (diff) | |
| download | rust-9153451a912b08a84ce313fcdcdcbda2ab92a600.tar.gz rust-9153451a912b08a84ce313fcdcdcbda2ab92a600.zip | |
Rollup merge of #121301 - davidtwco:rustfmt-silent-emitter, r=pnkfelix
errors: share `SilentEmitter` between rustc and rustfmt Fixes rust-lang/rustfmt#6082. Shares the `SilentEmitter` between rustc and rustfmt, and gives it a fallback bundle (since it can emit diagnostics in some contexts).
Diffstat (limited to 'compiler/rustc_session/src')
| -rw-r--r-- | compiler/rustc_session/src/parse.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/compiler/rustc_session/src/parse.rs b/compiler/rustc_session/src/parse.rs index 25b5422f322..506bd5d5dbd 100644 --- a/compiler/rustc_session/src/parse.rs +++ b/compiler/rustc_session/src/parse.rs @@ -265,14 +265,20 @@ impl ParseSess { } } - pub fn with_silent_emitter(fatal_note: String) -> Self { - let fallback_bundle = fallback_fluent_bundle(Vec::new(), false); + pub fn with_silent_emitter(locale_resources: Vec<&'static str>, fatal_note: String) -> Self { + let fallback_bundle = fallback_fluent_bundle(locale_resources, false); let sm = Lrc::new(SourceMap::new(FilePathMapping::empty())); - let emitter = - Box::new(HumanEmitter::new(stderr_destination(ColorConfig::Auto), fallback_bundle)); + let emitter = Box::new(HumanEmitter::new( + stderr_destination(ColorConfig::Auto), + fallback_bundle.clone(), + )); let fatal_dcx = DiagCtxt::new(emitter); - let dcx = - DiagCtxt::new(Box::new(SilentEmitter { fatal_dcx, fatal_note })).disable_warnings(); + let dcx = DiagCtxt::new(Box::new(SilentEmitter { + fallback_bundle, + fatal_dcx, + fatal_note: Some(fatal_note), + })) + .disable_warnings(); ParseSess::with_dcx(dcx, sm) } |
