rustc recently (between nightly-2025-10-11 and nightly-2025-11-11; I didn’t bisect further) changed the specific ANSI escape sequence that it uses for bold red error outputs: It was \x1b[1m\x1b[38;5;9m (
|
pub const CSI_BOLD_RED: &str = "\u{1b}[1m\u{1b}[38;5;9m"; |
) but now it is
\x1b[1m\x1b[91m. I suspect this was done in
rust-lang/rust#147207 (see
https://github.com/rust-lang/rust/pull/147207/files#diff-a7e8b42398835197f8219643e5cda042a0d9bd07f6ee6ff31b96cbe69035d6a9 for a
rustc ui test with the same change) and that other output (e. g. warnings) was also changed.
This breaks bacon, especially when using --all-targets (as the cargo warning causes bacon to suppress all the output except for what it recognises as errors and warnings).
Reproducer:
src/main.rs
bacon.toml:
default_job = "check"
[jobs.check]
command = ["cargo", "check", "--all-targets", "--color", "always"]
need_stdout = false
bacon output on nightly-2025-10-11:
t check 1 error 1 warning
1 error[E0425]: cannot find value `name` in this scope
--> src/main.rs:2:5
|
2 | name;
| ^^^^ not found in this scope
For more information about this error, try `rustc --explain E0425`.
error: could not compile `t` (bin "t") due to 1 previous error
2 warning: build failed, waiting for other jobs to finish...
error: could not compile `t` (bin "t" test) due to 1 previous error
Output on nightly-2025-11-11:
t check 1 warning
1 warning: build failed, waiting for other jobs to finish...
error: could not compile `t` (bin "t") due to 1 previous error
rustcrecently (betweennightly-2025-10-11andnightly-2025-11-11; I didn’t bisect further) changed the specific ANSI escape sequence that it uses for bold rederroroutputs: It was\x1b[1m\x1b[38;5;9m(bacon/src/tty/mod.rs
Line 13 in a2efe05
\x1b[1m\x1b[91m. I suspect this was done in rust-lang/rust#147207 (see https://github.com/rust-lang/rust/pull/147207/files#diff-a7e8b42398835197f8219643e5cda042a0d9bd07f6ee6ff31b96cbe69035d6a9 for arustcui test with the same change) and that other output (e. g. warnings) was also changed.This breaks
bacon, especially when using--all-targets(as thecargowarning causesbaconto suppress all the output except for what it recognises as errors and warnings).Reproducer:
src/main.rsbacon.toml:baconoutput onnightly-2025-10-11:Output on
nightly-2025-11-11: