Skip to content

Rollup of 8 pull requests #118768

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5d16c54
Extend tidy alphabetical checking to `tests/`.
nnethercote Dec 8, 2023
d2d742c
coverage: Add a dedicated test for coverage of `if !`
Zalathar Nov 23, 2023
44b47aa
coverage: Add `CoverageKind::SpanMarker` for including extra spans in…
Zalathar Nov 23, 2023
9816635
coverage: Use `SpanMarker` to mark `continue` expressions.
Zalathar Nov 23, 2023
d90fd02
coverage: Use `SpanMarker` to mark the full condition of `if !`
Zalathar Nov 23, 2023
e0cd805
coverage: Simplify the heuristic for ignoring `async fn` return spans
Zalathar Dec 6, 2023
cec8142
coverage: Add `#[track_caller]` to the span generator's unwrap methods
Zalathar Dec 6, 2023
e01338a
coverage: Regression test for unwrapping `prev` when there are no spans
Zalathar Dec 8, 2023
b378059
update target feature following LLVM API change
krasimirgg Dec 4, 2023
9f0c6f1
Simplify and comment the special-casing for Windows colors
jyn514 Dec 8, 2023
96b027f
use magenta instead of bold for highlighting
jyn514 Dec 8, 2023
287c77e
Add tests related to normalization in implied bounds
spastorino Dec 1, 2023
8361a72
Introduce closure_id method on CoroutineKind
compiler-errors Dec 8, 2023
d5dcd85
More nits
compiler-errors Dec 8, 2023
384a49e
Rename some more coro_kind -> coroutine_kind
compiler-errors Dec 8, 2023
e987812
Make async generators fused by default
compiler-errors Dec 8, 2023
7079adb
Add Bevy related test cases
spastorino Dec 8, 2023
8ce6c4a
Rollup merge of #118198 - Zalathar:if-not, r=cjgillot
workingjubilee Dec 9, 2023
720bcf0
Rollup merge of #118512 - spastorino:add-implied-bounds-related-tests…
workingjubilee Dec 9, 2023
34273dd
Rollup merge of #118610 - krasimirgg:llvm-18-dec, r=nikic
workingjubilee Dec 9, 2023
bf703f6
Rollup merge of #118666 - Zalathar:body-closure, r=cjgillot
workingjubilee Dec 9, 2023
e2b4ba9
Rollup merge of #118737 - nnethercote:tidy-alphabetical-in-testsa, r=…
workingjubilee Dec 9, 2023
ebd1b6b
Rollup merge of #118756 - jyn514:colors, r=estebank
workingjubilee Dec 9, 2023
5b720b4
Rollup merge of #118762 - compiler-errors:gen-nits, r=eholk
workingjubilee Dec 9, 2023
8230fd5
Rollup merge of #118764 - compiler-errors:fused-async-iterator, r=eholk
workingjubilee Dec 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
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.
  • Loading branch information
jyn514 committed Dec 8, 2023
commit 96b027f35df93a0fe963c9825b39b248672e18fb
2 changes: 1 addition & 1 deletion compiler/rustc_errors/src/emitter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2719,7 +2719,7 @@ impl Style {
spec.set_bold(true);
}
Style::Highlight => {
spec.set_bold(true);
spec.set_bold(true).set_fg(Some(Color::Magenta));
}
}
spec
Expand Down
2 changes: 1 addition & 1 deletion src/tools/tidy/src/ui_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use std::path::{Path, PathBuf};
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
Expand Down
23 changes: 23 additions & 0 deletions tests/ui/error-emitter/highlighting.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Make sure "highlighted" code is colored purple

// compile-flags: --error-format=human --color=always
// error-pattern:for<'a> 
// 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 changes: 22 additions & 0 deletions tests/ui/error-emitter/highlighting.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
error[E0308]: mismatched types
 --> $DIR/highlighting.rs:22:11
 |
LL |  query(wrapped_fn);
 |  ----- ^^^^^^^^^^ one type is more general than the other
 |  |
 |  arguments to this function are incorrect
 |
 = note: expected fn pointer `for<'a> fn(Box<(dyn Any + Send + 'a)>) -> Pin<_>`
 found fn item `fn(Box<(dyn Any + Send + 'static)>) -> Pin<_> {wrapped_fn}`
note: function defined here
 --> $DIR/highlighting.rs:11:4
 |
LL | fn query(_: fn(Box<(dyn Any + Send + '_)>) -> Pin<Box<(
 |  ____^^^^^_-
LL | |  dyn Future<Output = Result<Box<(dyn Any + 'static)>, String>> + Send + 'static
LL | | )>>) {}
 | |___-

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0308`.
Original file line number Diff line number Diff line change
@@ -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
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
error[E0106]: missing lifetime specifier
 --> $DIR/multiline-multipart-suggestion.rs:4:34
 --> $DIR/multiline-multipart-suggestion.rs:5:34
 |
LL | fn short(foo_bar: &Vec<&i32>) -> &i32 {
LL | fn short(foo_bar: &Vec<&i32>) -> &i32 {
 |  ---------- ^ expected named lifetime parameter
 |
 = help: 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
help: consider introducing a named lifetime parameter
 |
LL | fn short<'a>(foo_bar: &'a Vec<&'a i32>) -> &'a i32 {
LL | fn short<'a>(foo_bar: &'a Vec<&'a i32>) -> &'a i32 {
 | ++++ ++ ++ ++

error[E0106]: missing lifetime specifier
 --> $DIR/multiline-multipart-suggestion.rs:11:6
 --> $DIR/multiline-multipart-suggestion.rs:12:6
 |
LL |  foo_bar: &Vec<&i32>,
 |  ----------
Expand All @@ -22,22 +22,22 @@
 = help: 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
help: consider introducing a named lifetime parameter
 |
LL ~ fn long<'a>(
LL ~ fn long<'a>(
LL ~  foo_bar: &'a Vec<&'a i32>,
LL |  something_very_long_so_that_the_line_will_wrap_around__________: i32,
LL ~ ) -> &'a i32 {
 |

error[E0106]: missing lifetime specifier
 --> $DIR/multiline-multipart-suggestion.rs:16:29
 --> $DIR/multiline-multipart-suggestion.rs:17:29
 |
LL |  foo_bar: &Vec<&i32>) -> &i32 {
 |  ---------- ^ expected named lifetime parameter
 |
 = help: 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
help: consider introducing a named lifetime parameter
 |
LL ~ fn long2<'a>(
LL ~ fn long2<'a>(
LL ~  foo_bar: &'a Vec<&'a i32>) -> &'a i32 {
 |

Expand Down