summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_errors/src/json.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:35 +0000
commitd1b2d29528b7794b41e66fc2136e395a02f8529b (patch)
treea4a17504b260206dec3cf55b2dca82929a348ac2 /compiler/rustc_errors/src/json.rs
parentReleasing progress-linux version 1.72.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-d1b2d29528b7794b41e66fc2136e395a02f8529b.tar.xz
rustc-d1b2d29528b7794b41e66fc2136e395a02f8529b.zip
Merging upstream version 1.73.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'compiler/rustc_errors/src/json.rs')
-rw-r--r--compiler/rustc_errors/src/json.rs40
1 files changed, 25 insertions, 15 deletions
diff --git a/compiler/rustc_errors/src/json.rs b/compiler/rustc_errors/src/json.rs
index f32d6b96b..b8f58e305 100644
--- a/compiler/rustc_errors/src/json.rs
+++ b/compiler/rustc_errors/src/json.rs
@@ -10,6 +10,7 @@
// FIXME: spec the JSON output properly.
use rustc_span::source_map::{FilePathMapping, SourceMap};
+use termcolor::{ColorSpec, WriteColor};
use crate::emitter::{Emitter, HumanReadableErrorType};
use crate::registry::Registry;
@@ -159,7 +160,7 @@ impl Emitter for JsonEmitter {
}
.and_then(|_| self.dst.flush());
if let Err(e) = result {
- panic!("failed to print diagnostics: {:?}", e);
+ panic!("failed to print diagnostics: {e:?}");
}
}
@@ -172,7 +173,7 @@ impl Emitter for JsonEmitter {
}
.and_then(|_| self.dst.flush());
if let Err(e) = result {
- panic!("failed to print notification: {:?}", e);
+ panic!("failed to print notification: {e:?}");
}
}
@@ -194,7 +195,7 @@ impl Emitter for JsonEmitter {
}
.and_then(|_| self.dst.flush());
if let Err(e) = result {
- panic!("failed to print future breakage report: {:?}", e);
+ panic!("failed to print future breakage report: {e:?}");
}
}
@@ -208,7 +209,7 @@ impl Emitter for JsonEmitter {
}
.and_then(|_| self.dst.flush());
if let Err(e) = result {
- panic!("failed to print unused externs: {:?}", e);
+ panic!("failed to print unused externs: {e:?}");
}
}
@@ -356,20 +357,29 @@ impl Diagnostic {
self.0.lock().unwrap().flush()
}
}
+ impl WriteColor for BufWriter {
+ fn supports_color(&self) -> bool {
+ false
+ }
+
+ fn set_color(&mut self, _spec: &ColorSpec) -> io::Result<()> {
+ Ok(())
+ }
+
+ fn reset(&mut self) -> io::Result<()> {
+ Ok(())
+ }
+ }
let buf = BufWriter::default();
let output = buf.clone();
je.json_rendered
- .new_emitter(
- Box::new(buf),
- Some(je.sm.clone()),
- je.fluent_bundle.clone(),
- je.fallback_bundle.clone(),
- false,
- je.diagnostic_width,
- je.macro_backtrace,
- je.track_diagnostics,
- je.terminal_url,
- )
+ .new_emitter(Box::new(buf), je.fallback_bundle.clone())
+ .sm(Some(je.sm.clone()))
+ .fluent_bundle(je.fluent_bundle.clone())
+ .diagnostic_width(je.diagnostic_width)
+ .macro_backtrace(je.macro_backtrace)
+ .track_diagnostics(je.track_diagnostics)
+ .terminal_url(je.terminal_url)
.ui_testing(je.ui_testing)
.emit_diagnostic(diag);
let output = Arc::try_unwrap(output.0).unwrap().into_inner().unwrap();