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
|
@ -782,21 +782,23 @@ trait UnusedDelimLint {
|
|||
};
|
||||
let suggestion = spans.map(|(lo, hi)| {
|
||||
let sm = cx.sess().source_map();
|
||||
let lo_replace =
|
||||
if (keep_space.0 || is_kw) &&
|
||||
let Ok(snip) = sm.span_to_prev_source(lo) && !snip.ends_with(' ') {
|
||||
" "
|
||||
} else {
|
||||
""
|
||||
};
|
||||
let lo_replace = if (keep_space.0 || is_kw)
|
||||
&& let Ok(snip) = sm.span_to_prev_source(lo)
|
||||
&& !snip.ends_with(' ')
|
||||
{
|
||||
" "
|
||||
} else {
|
||||
""
|
||||
};
|
||||
|
||||
let hi_replace =
|
||||
if keep_space.1 &&
|
||||
let Ok(snip) = sm.span_to_next_source(hi) && !snip.starts_with(' ') {
|
||||
" "
|
||||
} else {
|
||||
""
|
||||
};
|
||||
let hi_replace = if keep_space.1
|
||||
&& let Ok(snip) = sm.span_to_next_source(hi)
|
||||
&& !snip.starts_with(' ')
|
||||
{
|
||||
" "
|
||||
} else {
|
||||
""
|
||||
};
|
||||
UnusedDelimSuggestion {
|
||||
start_span: lo,
|
||||
start_replace: lo_replace,
|
||||
|
@ -1056,10 +1058,10 @@ impl UnusedParens {
|
|||
impl EarlyLintPass for UnusedParens {
|
||||
#[inline]
|
||||
fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) {
|
||||
if let ExprKind::Binary(op, lhs, _rhs) = &e.kind &&
|
||||
(op.node == ast::BinOpKind::Lt || op.node == ast::BinOpKind::Shl) &&
|
||||
let ExprKind::Cast(_expr, ty) = &lhs.kind &&
|
||||
let ast::TyKind::Paren(_) = &ty.kind
|
||||
if let ExprKind::Binary(op, lhs, _rhs) = &e.kind
|
||||
&& (op.node == ast::BinOpKind::Lt || op.node == ast::BinOpKind::Shl)
|
||||
&& let ExprKind::Cast(_expr, ty) = &lhs.kind
|
||||
&& let ast::TyKind::Paren(_) = &ty.kind
|
||||
{
|
||||
self.parens_in_cast_in_lt.push(ty.id);
|
||||
}
|
||||
|
@ -1111,13 +1113,19 @@ impl EarlyLintPass for UnusedParens {
|
|||
}
|
||||
|
||||
fn check_expr_post(&mut self, _cx: &EarlyContext<'_>, e: &ast::Expr) {
|
||||
if let ExprKind::Binary(op, lhs, _rhs) = &e.kind &&
|
||||
(op.node == ast::BinOpKind::Lt || op.node == ast::BinOpKind::Shl) &&
|
||||
let ExprKind::Cast(_expr, ty) = &lhs.kind &&
|
||||
let ast::TyKind::Paren(_) = &ty.kind
|
||||
if let ExprKind::Binary(op, lhs, _rhs) = &e.kind
|
||||
&& (op.node == ast::BinOpKind::Lt || op.node == ast::BinOpKind::Shl)
|
||||
&& let ExprKind::Cast(_expr, ty) = &lhs.kind
|
||||
&& let ast::TyKind::Paren(_) = &ty.kind
|
||||
{
|
||||
let id = self.parens_in_cast_in_lt.pop().expect("check_expr and check_expr_post must balance");
|
||||
assert_eq!(id, ty.id, "check_expr, check_ty, and check_expr_post are called, in that order, by the visitor");
|
||||
let id = self
|
||||
.parens_in_cast_in_lt
|
||||
.pop()
|
||||
.expect("check_expr and check_expr_post must balance");
|
||||
assert_eq!(
|
||||
id, ty.id,
|
||||
"check_expr, check_ty, and check_expr_post are called, in that order, by the visitor"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1161,8 +1169,8 @@ impl EarlyLintPass for UnusedParens {
|
|||
}
|
||||
|
||||
fn check_ty(&mut self, cx: &EarlyContext<'_>, ty: &ast::Ty) {
|
||||
if let ast::TyKind::Paren(_) = ty.kind &&
|
||||
Some(&ty.id) == self.parens_in_cast_in_lt.last()
|
||||
if let ast::TyKind::Paren(_) = ty.kind
|
||||
&& Some(&ty.id) == self.parens_in_cast_in_lt.last()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -1206,13 +1214,14 @@ impl EarlyLintPass for UnusedParens {
|
|||
fn enter_where_predicate(&mut self, _: &EarlyContext<'_>, pred: &ast::WherePredicate) {
|
||||
use rustc_ast::{WhereBoundPredicate, WherePredicate};
|
||||
if let WherePredicate::BoundPredicate(WhereBoundPredicate {
|
||||
bounded_ty,
|
||||
bound_generic_params,
|
||||
..
|
||||
}) = pred &&
|
||||
let ast::TyKind::Paren(_) = &bounded_ty.kind &&
|
||||
bound_generic_params.is_empty() {
|
||||
self.with_self_ty_parens = true;
|
||||
bounded_ty,
|
||||
bound_generic_params,
|
||||
..
|
||||
}) = pred
|
||||
&& let ast::TyKind::Paren(_) = &bounded_ty.kind
|
||||
&& bound_generic_params.is_empty()
|
||||
{
|
||||
self.with_self_ty_parens = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1516,9 +1525,8 @@ impl<'tcx> LateLintPass<'tcx> for UnusedAllocation {
|
|||
match e.kind {
|
||||
hir::ExprKind::Call(path_expr, [_])
|
||||
if let hir::ExprKind::Path(qpath) = &path_expr.kind
|
||||
&& let Some(did) = cx.qpath_res(qpath, path_expr.hir_id).opt_def_id()
|
||||
&& cx.tcx.is_diagnostic_item(sym::box_new, did)
|
||||
=> {}
|
||||
&& let Some(did) = cx.qpath_res(qpath, path_expr.hir_id).opt_def_id()
|
||||
&& cx.tcx.is_diagnostic_item(sym::box_new, did) => {}
|
||||
_ => return,
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue