use magenta instead of bold for highlighting
according to a poll of gay people in my phone, purple is the most popular color to use for highlighting | color | percentage | | ---------- | ---------- | | bold white | 6% | | blue | 14% | | cyan | 26% | | purple | 37% | | magenta | 17% | unfortunately, purple is not supported by 16-color terminals, which rustc apparently wants to support for some reason. until we require support for full 256-color terms (e.g. by doing the same feature detection as we currently do for urls), we can't use it. instead, i have collapsed the purple votes into magenta on the theory that they're close, and also because magenta is pretty.
This commit is contained in:
parent
9f0c6f15ce
commit
96b027f35d
@ -2719,7 +2719,7 @@ fn color_spec(&self, lvl: Level) -> ColorSpec {
|
||||
spec.set_bold(true);
|
||||
}
|
||||
Style::Highlight => {
|
||||
spec.set_bold(true);
|
||||
spec.set_bold(true).set_fg(Some(Color::Magenta));
|
||||
}
|
||||
}
|
||||
spec
|
||||
|
@ -11,7 +11,7 @@
|
||||
const ENTRY_LIMIT: usize = 900;
|
||||
// FIXME: The following limits should be reduced eventually.
|
||||
const ISSUES_ENTRY_LIMIT: usize = 1852;
|
||||
const ROOT_ENTRY_LIMIT: usize = 866;
|
||||
const ROOT_ENTRY_LIMIT: usize = 867;
|
||||
|
||||
const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
|
||||
"rs", // test source files
|
||||
|
23
tests/ui/error-emitter/highlighting.rs
Normal file
23
tests/ui/error-emitter/highlighting.rs
Normal file
@ -0,0 +1,23 @@
|
||||
// Make sure "highlighted" code is colored purple
|
||||
|
||||
// compile-flags: --error-format=human --color=always
|
||||
// error-pattern:[35mfor<'a> [0m
|
||||
// edition:2018
|
||||
|
||||
use core::pin::Pin;
|
||||
use core::future::Future;
|
||||
use core::any::Any;
|
||||
|
||||
fn query(_: fn(Box<(dyn Any + Send + '_)>) -> Pin<Box<(
|
||||
dyn Future<Output = Result<Box<(dyn Any + 'static)>, String>> + Send + 'static
|
||||
)>>) {}
|
||||
|
||||
fn wrapped_fn<'a>(_: Box<(dyn Any + Send)>) -> Pin<Box<(
|
||||
dyn Future<Output = Result<Box<(dyn Any + 'static)>, String>> + Send + 'static
|
||||
)>> {
|
||||
Box::pin(async { Err("nope".into()) })
|
||||
}
|
||||
|
||||
fn main() {
|
||||
query(wrapped_fn);
|
||||
}
|
22
tests/ui/error-emitter/highlighting.stderr
Normal file
22
tests/ui/error-emitter/highlighting.stderr
Normal file
@ -0,0 +1,22 @@
|
||||
[0m[1m[38;5;9merror[E0308][0m[0m[1m: mismatched types[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/highlighting.rs:22:11[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m query(wrapped_fn);[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m-----[0m[0m [0m[0m[1m[38;5;9m^^^^^^^^^^[0m[0m [0m[0m[1m[38;5;9mone type is more general than the other[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12marguments to this function are incorrect[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m [0m[0m[1m[38;5;12m= [0m[0m[1mnote[0m[0m: expected fn pointer `[0m[0m[1m[35mfor<'a> [0m[0mfn(Box<[0m[0m[1m[35m(dyn Any + Send + 'a)[0m[0m>) -> Pin<_>`[0m
|
||||
[0m found fn item `fn(Box<[0m[0m[1m[35m(dyn Any + Send + 'static)[0m[0m>) -> Pin<_> {wrapped_fn}`[0m
|
||||
[0m[1m[38;5;10mnote[0m[0m: function defined here[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/highlighting.rs:11:4[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0mfn query(_: fn(Box<(dyn Any + Send + '_)>) -> Pin<Box<([0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m____[0m[0m[1m[38;5;10m^^^^^[0m[0m[1m[38;5;12m_-[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m dyn Future<Output = Result<Box<(dyn Any + 'static)>, String>> + Send + 'static[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m)>>) {}[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m[1m[38;5;12m|___-[0m
|
||||
|
||||
[0m[1m[38;5;9merror[0m[0m[1m: aborting due to 1 previous error[0m
|
||||
|
||||
[0m[1mFor more information about this error, try `rustc --explain E0308`.[0m
|
@ -1,18 +1,19 @@
|
||||
// compile-flags: --error-format=human --color=always
|
||||
// error-pattern: missing lifetime specifier
|
||||
// ignore-windows
|
||||
|
||||
fn short(foo_bar: &Vec<&i32>) -> &i32 { //~ ERROR missing lifetime specifier
|
||||
fn short(foo_bar: &Vec<&i32>) -> &i32 {
|
||||
&12
|
||||
}
|
||||
|
||||
fn long( //~ ERROR missing lifetime specifier
|
||||
fn long(
|
||||
foo_bar: &Vec<&i32>,
|
||||
something_very_long_so_that_the_line_will_wrap_around__________: i32,
|
||||
) -> &i32 {
|
||||
&12
|
||||
}
|
||||
|
||||
fn long2( //~ ERROR missing lifetime specifier
|
||||
fn long2(
|
||||
foo_bar: &Vec<&i32>) -> &i32 {
|
||||
&12
|
||||
}
|
@ -1,17 +1,17 @@
|
||||
[0m[1m[38;5;9merror[E0106][0m[0m[1m: missing lifetime specifier[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:4:34[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:5:34[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0mfn short(foo_bar: &Vec<&i32>) -> &i32 {
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0mfn short(foo_bar: &Vec<&i32>) -> &i32 {[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m----------[0m[0m [0m[0m[1m[38;5;9m^[0m[0m [0m[0m[1m[38;5;9mexpected named lifetime parameter[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m [0m[0m[1m[38;5;12m= [0m[0m[1mhelp[0m[0m: this function's return type contains a borrowed value, but the signature does not say which one of `foo_bar`'s 2 lifetimes it is borrowed from[0m
|
||||
[0m[1m[38;5;14mhelp[0m[0m: consider introducing a named lifetime parameter[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m| [0m[0mfn short[0m[0m[38;5;10m<'a>[0m[0m(foo_bar: &[0m[0m[38;5;10m'a [0m[0mVec<&[0m[0m[38;5;10m'a [0m[0mi32>) -> &[0m[0m[38;5;10m'a [0m[0mi32 {
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m| [0m[0mfn short[0m[0m[38;5;10m<'a>[0m[0m(foo_bar: &[0m[0m[38;5;10m'a [0m[0mVec<&[0m[0m[38;5;10m'a [0m[0mi32>) -> &[0m[0m[38;5;10m'a [0m[0mi32 {[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m[38;5;10m++++[0m[0m [0m[0m[38;5;10m++[0m[0m [0m[0m[38;5;10m++[0m[0m [0m[0m[38;5;10m++[0m
|
||||
|
||||
[0m[1m[38;5;9merror[E0106][0m[0m[1m: missing lifetime specifier[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:11:6[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:12:6[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m foo_bar: &Vec<&i32>,[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m----------[0m
|
||||
@ -22,14 +22,14 @@
|
||||
[0m [0m[0m[1m[38;5;12m= [0m[0m[1mhelp[0m[0m: this function's return type contains a borrowed value, but the signature does not say which one of `foo_bar`'s 2 lifetimes it is borrowed from[0m
|
||||
[0m[1m[38;5;14mhelp[0m[0m: consider introducing a named lifetime parameter[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0mfn long[0m[0m[38;5;10m<'a>[0m[0m(
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0mfn long[0m[0m[38;5;10m<'a>[0m[0m([0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0m foo_bar: &[0m[0m[38;5;10m'a [0m[0mVec<&[0m[0m[38;5;10m'a [0m[0mi32>,[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m| [0m[0m something_very_long_so_that_the_line_will_wrap_around__________: i32,[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0m) -> &[0m[0m[38;5;10m'a [0m[0mi32 {[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
|
||||
[0m[1m[38;5;9merror[E0106][0m[0m[1m: missing lifetime specifier[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:16:29[0m
|
||||
[0m [0m[0m[1m[38;5;12m--> [0m[0m$DIR/multiline-multipart-suggestion.rs:17:29[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[1m[38;5;12m|[0m[0m [0m[0m foo_bar: &Vec<&i32>) -> &i32 {[0m
|
||||
[0m [0m[0m[1m[38;5;12m| [0m[0m [0m[0m[1m[38;5;12m----------[0m[0m [0m[0m[1m[38;5;9m^[0m[0m [0m[0m[1m[38;5;9mexpected named lifetime parameter[0m
|
||||
@ -37,7 +37,7 @@
|
||||
[0m [0m[0m[1m[38;5;12m= [0m[0m[1mhelp[0m[0m: this function's return type contains a borrowed value, but the signature does not say which one of `foo_bar`'s 2 lifetimes it is borrowed from[0m
|
||||
[0m[1m[38;5;14mhelp[0m[0m: consider introducing a named lifetime parameter[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0mfn long2[0m[0m[38;5;10m<'a>[0m[0m(
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0mfn long2[0m[0m[38;5;10m<'a>[0m[0m([0m
|
||||
[0m[1m[38;5;12mLL[0m[0m [0m[0m[38;5;10m~ [0m[0m foo_bar: &[0m[0m[38;5;10m'a [0m[0mVec<&[0m[0m[38;5;10m'a [0m[0mi32>) -> &[0m[0m[38;5;10m'a [0m[0mi32 {[0m
|
||||
[0m [0m[0m[1m[38;5;12m|[0m
|
||||
|
Loading…
Reference in New Issue
Block a user