Auto merge of #116688 - compiler-errors:rustfmt-up, r=WaffleLapkin,Nilstrieb
Format all the let-chains in compiler crates
Since rust-lang/rustfmt#5910 has landed, soon we will have support for formatting let-chains (as soon as rustfmt syncs and beta gets bumped).
This PR applies the changes [from master rustfmt to rust-lang/rust eagerly](374997516
), so that the next beta bump does not have to deal with a 200+ file diff and can remain concerned with other things like `cfg(bootstrap)` -- #113637 was a pain to land, for example, because of let-else.
I will also add this commit to the ignore list after it has landed.
The commands that were run -- I'm not great at bash-foo, but this applies rustfmt to every compiler crate, and then reverts the two crates that should probably be formatted out-of-tree.
```
~/rustfmt $ ls -1d ~/rust/compiler/* | xargs -I@ cargo run --bin rustfmt -- `@/src/lib.rs` --config-path ~/rust --edition=2021 # format all of the compiler crates
~/rust $ git checkout HEAD -- compiler/rustc_codegen_{gcc,cranelift} # revert changes to cg-gcc and cg-clif
```
cc `@rust-lang/rustfmt`
r? `@WaffleLapkin` or `@Nilstrieb` who said they may be able to review this purely mechanical PR :>
cc `@Mark-Simulacrum` and `@petrochenkov,` who had some thoughts on the order of operations with big formatting changes in https://github.com/rust-lang/rust/pull/95262#issue-1178993801. I think the situation has changed since then, given that let-chains support exists on master rustfmt now, and I'm fairly confident that this formatting PR should land even if *bootstrap* rustfmt doesn't yet format let-chains in order to lessen the burden of the next beta bump.
This commit is contained in:
commit
a48396984a
207 changed files with 3121 additions and 2229 deletions
|
@ -314,11 +314,10 @@ impl<'a> Parser<'a> {
|
|||
// which uses `Symbol::to_ident_string()` and "helpfully" adds an implicit `r#`
|
||||
let ident_name = ident.name.to_string();
|
||||
|
||||
Some(SuggEscapeIdentifier {
|
||||
span: ident.span.shrink_to_lo(),
|
||||
ident_name
|
||||
})
|
||||
} else { None };
|
||||
Some(SuggEscapeIdentifier { span: ident.span.shrink_to_lo(), ident_name })
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let suggest_remove_comma =
|
||||
if self.token == token::Comma && self.look_ahead(1, |t| t.is_ident()) {
|
||||
|
@ -375,9 +374,11 @@ impl<'a> Parser<'a> {
|
|||
// and current token should be Ident with the item name (i.e. the function name)
|
||||
// if there is a `<` after the fn name, then don't show a suggestion, show help
|
||||
|
||||
if !self.look_ahead(1, |t| *t == token::Lt) &&
|
||||
let Ok(snippet) = self.sess.source_map().span_to_snippet(generic.span) {
|
||||
err.multipart_suggestion_verbose(
|
||||
if !self.look_ahead(1, |t| *t == token::Lt)
|
||||
&& let Ok(snippet) =
|
||||
self.sess.source_map().span_to_snippet(generic.span)
|
||||
{
|
||||
err.multipart_suggestion_verbose(
|
||||
format!("place the generic parameter name after the {ident_name} name"),
|
||||
vec![
|
||||
(self.token.span.shrink_to_hi(), snippet),
|
||||
|
@ -385,11 +386,11 @@ impl<'a> Parser<'a> {
|
|||
],
|
||||
Applicability::MaybeIncorrect,
|
||||
);
|
||||
} else {
|
||||
err.help(format!(
|
||||
"place the generic parameter name after the {ident_name} name"
|
||||
));
|
||||
}
|
||||
} else {
|
||||
err.help(format!(
|
||||
"place the generic parameter name after the {ident_name} name"
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(err) => {
|
||||
|
@ -402,7 +403,9 @@ impl<'a> Parser<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
if let Some(recovered_ident) = recovered_ident && recover {
|
||||
if let Some(recovered_ident) = recovered_ident
|
||||
&& recover
|
||||
{
|
||||
err.emit();
|
||||
Ok(recovered_ident)
|
||||
} else {
|
||||
|
@ -617,19 +620,19 @@ impl<'a> Parser<'a> {
|
|||
}
|
||||
|
||||
if let TokenKind::Ident(prev, _) = &self.prev_token.kind
|
||||
&& let TokenKind::Ident(cur, _) = &self.token.kind
|
||||
&& let TokenKind::Ident(cur, _) = &self.token.kind
|
||||
{
|
||||
let concat = Symbol::intern(&format!("{prev}{cur}"));
|
||||
let ident = Ident::new(concat, DUMMY_SP);
|
||||
if ident.is_used_keyword() || ident.is_reserved() || ident.is_raw_guess() {
|
||||
let span = self.prev_token.span.to(self.token.span);
|
||||
err.span_suggestion_verbose(
|
||||
span,
|
||||
format!("consider removing the space to spell keyword `{concat}`"),
|
||||
concat,
|
||||
Applicability::MachineApplicable,
|
||||
);
|
||||
}
|
||||
let concat = Symbol::intern(&format!("{prev}{cur}"));
|
||||
let ident = Ident::new(concat, DUMMY_SP);
|
||||
if ident.is_used_keyword() || ident.is_reserved() || ident.is_raw_guess() {
|
||||
let span = self.prev_token.span.to(self.token.span);
|
||||
err.span_suggestion_verbose(
|
||||
span,
|
||||
format!("consider removing the space to spell keyword `{concat}`"),
|
||||
concat,
|
||||
Applicability::MachineApplicable,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// `pub` may be used for an item or `pub(crate)`
|
||||
|
@ -1084,8 +1087,7 @@ impl<'a> Parser<'a> {
|
|||
.emit();
|
||||
match self.parse_expr() {
|
||||
Ok(_) => {
|
||||
*expr =
|
||||
self.mk_expr_err(expr.span.to(self.prev_token.span));
|
||||
*expr = self.mk_expr_err(expr.span.to(self.prev_token.span));
|
||||
return Ok(());
|
||||
}
|
||||
Err(err) => {
|
||||
|
@ -1277,7 +1279,9 @@ impl<'a> Parser<'a> {
|
|||
return if token::ModSep == self.token.kind {
|
||||
// We have some certainty that this was a bad turbofish at this point.
|
||||
// `foo< bar >::`
|
||||
if let ExprKind::Binary(o, ..) = inner_op.kind && o.node == BinOpKind::Lt {
|
||||
if let ExprKind::Binary(o, ..) = inner_op.kind
|
||||
&& o.node == BinOpKind::Lt
|
||||
{
|
||||
err.suggest_turbofish = Some(op.span.shrink_to_lo());
|
||||
} else {
|
||||
err.help_turbofish = Some(());
|
||||
|
@ -1307,7 +1311,9 @@ impl<'a> Parser<'a> {
|
|||
} else if token::OpenDelim(Delimiter::Parenthesis) == self.token.kind {
|
||||
// We have high certainty that this was a bad turbofish at this point.
|
||||
// `foo< bar >(`
|
||||
if let ExprKind::Binary(o, ..) = inner_op.kind && o.node == BinOpKind::Lt {
|
||||
if let ExprKind::Binary(o, ..) = inner_op.kind
|
||||
&& o.node == BinOpKind::Lt
|
||||
{
|
||||
err.suggest_turbofish = Some(op.span.shrink_to_lo());
|
||||
} else {
|
||||
err.help_turbofish = Some(());
|
||||
|
@ -1885,19 +1891,21 @@ impl<'a> Parser<'a> {
|
|||
let sm = self.sess.source_map();
|
||||
let left = begin_par_sp;
|
||||
let right = self.prev_token.span;
|
||||
let left_snippet = if let Ok(snip) = sm.span_to_prev_source(left) &&
|
||||
!snip.ends_with(' ') {
|
||||
" ".to_string()
|
||||
} else {
|
||||
"".to_string()
|
||||
};
|
||||
let left_snippet = if let Ok(snip) = sm.span_to_prev_source(left)
|
||||
&& !snip.ends_with(' ')
|
||||
{
|
||||
" ".to_string()
|
||||
} else {
|
||||
"".to_string()
|
||||
};
|
||||
|
||||
let right_snippet = if let Ok(snip) = sm.span_to_next_source(right) &&
|
||||
!snip.starts_with(' ') {
|
||||
" ".to_string()
|
||||
} else {
|
||||
"".to_string()
|
||||
};
|
||||
let right_snippet = if let Ok(snip) = sm.span_to_next_source(right)
|
||||
&& !snip.starts_with(' ')
|
||||
{
|
||||
" ".to_string()
|
||||
} else {
|
||||
"".to_string()
|
||||
};
|
||||
|
||||
self.sess.emit_err(ParenthesesInForHead {
|
||||
span: vec![left, right],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue