Change printing of "--error-format
is unstable" errors.
Currently for these two errors we go to the effort of switching to a standard JSON emitter, for no obvious reason, and unlike any other errors. This behaviour was added for `pretty-json` in #45737, and then `human-annotate-rs` copied it some time later when it was added. This commit changes things to just using the requested emitter, which is simpler and consistent with other errors. Old output: ``` $ rustc --error-format pretty-json {"$message_type":"diagnostic","message":"`--error-format=pretty-json` is unstable","code":null,"level":"error","spans":[],"children":[],"rendered":"error: `--error-format=pretty-json` is unstable\n\n"} $ rustc --error-format human-annotate-rs {"$message_type":"diagnostic","message":"`--error-format=human-annotate-rs` is unstable","code":null,"level":"error","spans":[],"children":[],"rendered":"error: `--error-format=human-annotate-rs` is unstable\n\n"} ``` New output: ``` $ rustc --error-format pretty-json { "$message_type": "diagnostic", "message": "`--error-format=pretty-json` is unstable", "code": null, "level": "error", "spans": [], "children": [], "rendered": "error: `--error-format=pretty-json` is unstable\n\n" } $ rustc --error-format human-annotate-rs error: `--error-format=human-annotate-rs` is unstable ```
This commit is contained in:
parent
f5a09a9e1d
commit
8843223897
@ -2051,23 +2051,14 @@ fn check_error_format_stability(
|
|||||||
early_dcx: &mut EarlyDiagCtxt,
|
early_dcx: &mut EarlyDiagCtxt,
|
||||||
unstable_opts: &UnstableOptions,
|
unstable_opts: &UnstableOptions,
|
||||||
error_format: ErrorOutputType,
|
error_format: ErrorOutputType,
|
||||||
json_rendered: HumanReadableErrorType,
|
|
||||||
) {
|
) {
|
||||||
if !unstable_opts.unstable_options {
|
if !unstable_opts.unstable_options {
|
||||||
if let ErrorOutputType::Json { pretty: true, json_rendered } = error_format {
|
if let ErrorOutputType::Json { pretty: true, .. } = error_format {
|
||||||
early_dcx.abort_if_error_and_set_error_format(ErrorOutputType::Json {
|
|
||||||
pretty: false,
|
|
||||||
json_rendered,
|
|
||||||
});
|
|
||||||
early_dcx.early_fatal("`--error-format=pretty-json` is unstable");
|
early_dcx.early_fatal("`--error-format=pretty-json` is unstable");
|
||||||
}
|
}
|
||||||
if let ErrorOutputType::HumanReadable(HumanReadableErrorType::AnnotateSnippet(_)) =
|
if let ErrorOutputType::HumanReadable(HumanReadableErrorType::AnnotateSnippet(_)) =
|
||||||
error_format
|
error_format
|
||||||
{
|
{
|
||||||
early_dcx.abort_if_error_and_set_error_format(ErrorOutputType::Json {
|
|
||||||
pretty: false,
|
|
||||||
json_rendered,
|
|
||||||
});
|
|
||||||
early_dcx.early_fatal("`--error-format=human-annotate-rs` is unstable");
|
early_dcx.early_fatal("`--error-format=human-annotate-rs` is unstable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2665,7 +2656,7 @@ pub fn build_session_options(early_dcx: &mut EarlyDiagCtxt, matches: &getopts::M
|
|||||||
let mut unstable_opts = UnstableOptions::build(early_dcx, matches);
|
let mut unstable_opts = UnstableOptions::build(early_dcx, matches);
|
||||||
let (lint_opts, describe_lints, lint_cap) = get_cmd_lint_options(early_dcx, matches);
|
let (lint_opts, describe_lints, lint_cap) = get_cmd_lint_options(early_dcx, matches);
|
||||||
|
|
||||||
check_error_format_stability(early_dcx, &unstable_opts, error_format, json_rendered);
|
check_error_format_stability(early_dcx, &unstable_opts, error_format);
|
||||||
|
|
||||||
if !unstable_opts.unstable_options && json_unused_externs.is_enabled() {
|
if !unstable_opts.unstable_options && json_unused_externs.is_enabled() {
|
||||||
early_dcx.early_fatal(
|
early_dcx.early_fatal(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user