I’ve copied an example output line from an error message including the ecape sequences I got, and here’s some Rust code that should print the same kind of colored text, so you can double-check if that matches the behavior, if you like 
fn main() {
println!("\x1b[1m\x1b[91merror[E0601]\x1b[0m\x1b[1m: `main` function not found in crate `foobar`\x1b[0m");
}
The text consists of:
- escape sequence
\x1b[1m
- escape sequence
\x1b[91m
- text
error[E0601]
- escape sequence
\x1b[0m
- escape sequence
\x1b[1m
- text
: `main` function not found in crate `foobar`
- escape sequence
\x1b[0m
Here, \x1b is the way to represent the ASCII character “ESC” (with hex code 1b) in Rust string.
The sequence ESC [ is called the “control sequence introducer” (short “CSI”) and all escape sequences we see here start with it.
Moreover, all of our sequences are of the form CSI n m for some integer number n, and you can find a listing of the meaning of sequences of this form here; in particular:
CSI 1 m: “Bold or increased intensity”
CSI 91 m: “Set bright foreground color” - specifically for “Bright Red”
CSI 0 m: “Reset“ (All attributes become turned off)
Thus, the whole text can be interpreted as follows:
CSI 1 m: “Bold or increased intensity”
CSI 91 m: “Set bright foreground color” - specifically for “Bright Red”
- text
error[E0601]
CSI 0 m: “Reset“ (All attributes become turned off)
CSI 1 m: “Bold or increased intensity”
- text
: `main` function not found in crate `foobar`
CSI 0 m: “Reset“ (All attributes become turned off)
Notice how the rust compiler is thus not hardcoding any color at all. It just says “make this bold”, basically. Assuming you can confirm the same behavior with my simplified println example, then the problem really is only up to your terminal, and how it’s implemented and/or configured 
I do recall that some terminal applications do allow you to configure each color in your color scheme (the 8/16 basic ANSI colors) separately between the choice of color for normal text, vs. the choice of color for bold text.
Double-checking my own terminal (Konsole on linux), it looks like - specifically - they allow you to configure an “intense” color separately (I assume this is also what the “… or increased intensity” part of that escape code description relates to). Maybe you configured or some other way ended up a color scheme somehow without specifying a fitting “intense” variant of the default foreground color that has sufficient contrast for the default (non-intense) background.