diff options
| author | 许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com> | 2023-06-28 23:51:12 +0800 |
|---|---|---|
| committer | 许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com> | 2023-06-29 23:31:24 +0800 |
| commit | 53245a17bbe3f99b0ce1bec254df431e8c09d132 (patch) | |
| tree | 765b29bd0cfb6faa06f0626483b433575dd996dd | |
| parent | 5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0 (diff) | |
| download | rust-53245a17bbe3f99b0ce1bec254df431e8c09d132.tar.gz rust-53245a17bbe3f99b0ce1bec254df431e8c09d132.zip | |
Set error handler output format as soon as possible
| -rw-r--r-- | compiler/rustc_session/src/config.rs | 2 | ||||
| -rw-r--r-- | tests/ui/diagnostic-flags/colored-session-opt-error.rs | 3 | ||||
| -rw-r--r-- | tests/ui/diagnostic-flags/colored-session-opt-error.stderr | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs index 480d2478e81..91fa3db811f 100644 --- a/compiler/rustc_session/src/config.rs +++ b/compiler/rustc_session/src/config.rs @@ -2405,6 +2405,8 @@ pub fn build_session_options( let error_format = parse_error_format(handler, matches, color, json_rendered); + handler.abort_if_error_and_set_error_format(error_format); + let diagnostic_width = matches.opt_get("diagnostic-width").unwrap_or_else(|_| { handler.early_error("`--diagnostic-width` must be an positive integer"); }); diff --git a/tests/ui/diagnostic-flags/colored-session-opt-error.rs b/tests/ui/diagnostic-flags/colored-session-opt-error.rs new file mode 100644 index 00000000000..5511ff0193f --- /dev/null +++ b/tests/ui/diagnostic-flags/colored-session-opt-error.rs @@ -0,0 +1,3 @@ +// check-pass +// compile-flags: -Cremark=foo --error-format=human --color always +fn main() {} diff --git a/tests/ui/diagnostic-flags/colored-session-opt-error.stderr b/tests/ui/diagnostic-flags/colored-session-opt-error.stderr new file mode 100644 index 00000000000..ef79d5b0f2f --- /dev/null +++ b/tests/ui/diagnostic-flags/colored-session-opt-error.stderr @@ -0,0 +1,2 @@ +[0m[1m[33mwarning[0m[0m[1m: -C remark requires "-C debuginfo=n" to show source locations[0m + |
