Fix clippy::needless_borrow
in the compiler
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`. Then I had to remove a few unnecessary parens and muts that were exposed now.
This commit is contained in:
parent
0ff8610964
commit
21a870515b
304 changed files with 1101 additions and 1174 deletions
|
@ -227,7 +227,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
self.tcx(),
|
||||
generics,
|
||||
&mut err,
|
||||
&ty_param_name,
|
||||
ty_param_name,
|
||||
&trait_name,
|
||||
None,
|
||||
None,
|
||||
|
|
|
@ -106,7 +106,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
);
|
||||
}
|
||||
// check if the impl trait that we are considering is a impl of a local trait
|
||||
self.maybe_lint_blanket_trait_impl(&self_ty, &mut diag);
|
||||
self.maybe_lint_blanket_trait_impl(self_ty, &mut diag);
|
||||
diag.stash(self_ty.span, StashKey::TraitMissingMethod);
|
||||
} else {
|
||||
let msg = "trait objects without an explicit `dyn` are deprecated";
|
||||
|
@ -121,7 +121,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
sugg,
|
||||
Applicability::MachineApplicable,
|
||||
);
|
||||
self.maybe_lint_blanket_trait_impl(&self_ty, lint);
|
||||
self.maybe_lint_blanket_trait_impl(self_ty, lint);
|
||||
lint
|
||||
},
|
||||
);
|
||||
|
|
|
@ -1666,7 +1666,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
.copied()
|
||||
.filter(|&(impl_, _)| {
|
||||
infcx.probe(|_| {
|
||||
let ocx = ObligationCtxt::new(&infcx);
|
||||
let ocx = ObligationCtxt::new(infcx);
|
||||
ocx.register_obligations(obligations.clone());
|
||||
|
||||
let impl_args = infcx.fresh_args_for_item(span, impl_);
|
||||
|
@ -1979,7 +1979,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
|||
types_and_spans[..types_and_spans.len() - 1]
|
||||
.iter()
|
||||
.map(|(x, _)| x.as_str())
|
||||
.intersperse(&", ")
|
||||
.intersperse(", ")
|
||||
.collect::<String>()
|
||||
),
|
||||
[(only, _)] => only.to_string(),
|
||||
|
|
|
@ -182,7 +182,7 @@ impl<'a, 'tcx> Autoderef<'a, 'tcx> {
|
|||
}
|
||||
};
|
||||
|
||||
let errors = fulfill_cx.select_where_possible(&self.infcx);
|
||||
let errors = fulfill_cx.select_where_possible(self.infcx);
|
||||
if !errors.is_empty() {
|
||||
// This shouldn't happen, except for evaluate/fulfill mismatches,
|
||||
// but that's not a reason for an ICE (`predicate_may_hold` is conservative
|
||||
|
|
|
@ -222,11 +222,11 @@ fn check_opaque(tcx: TyCtxt<'_>, id: hir::ItemId) {
|
|||
if tcx.type_of(item.owner_id.def_id).instantiate_identity().references_error() {
|
||||
return;
|
||||
}
|
||||
if check_opaque_for_cycles(tcx, item.owner_id.def_id, args, span, &origin).is_err() {
|
||||
if check_opaque_for_cycles(tcx, item.owner_id.def_id, args, span, origin).is_err() {
|
||||
return;
|
||||
}
|
||||
|
||||
let _ = check_opaque_meets_bounds(tcx, item.owner_id.def_id, span, &origin);
|
||||
let _ = check_opaque_meets_bounds(tcx, item.owner_id.def_id, span, origin);
|
||||
}
|
||||
|
||||
/// Checks that an opaque type does not contain cycles.
|
||||
|
@ -518,7 +518,7 @@ fn check_item_type(tcx: TyCtxt<'_>, id: hir::ItemId) {
|
|||
DefKind::TyAlias => {
|
||||
let pty_ty = tcx.type_of(id.owner_id).instantiate_identity();
|
||||
let generics = tcx.generics_of(id.owner_id);
|
||||
check_type_params_are_used(tcx, &generics, pty_ty);
|
||||
check_type_params_are_used(tcx, generics, pty_ty);
|
||||
}
|
||||
DefKind::ForeignMod => {
|
||||
let it = tcx.hir().item(id);
|
||||
|
@ -900,7 +900,7 @@ pub(super) fn check_packed(tcx: TyCtxt<'_>, sp: Span, def: ty::AdtDef<'_>) {
|
|||
let repr = def.repr();
|
||||
if repr.packed() {
|
||||
for attr in tcx.get_attrs(def.did(), sym::repr) {
|
||||
for r in attr::parse_repr_attr(&tcx.sess, attr) {
|
||||
for r in attr::parse_repr_attr(tcx.sess, attr) {
|
||||
if let attr::ReprPacked(pack) = r
|
||||
&& let Some(repr_pack) = repr.pack
|
||||
&& pack as u64 != repr_pack.bytes()
|
||||
|
@ -1150,8 +1150,8 @@ fn check_enum(tcx: TyCtxt<'_>, def_id: LocalDefId) {
|
|||
let has_disr = |var: &ty::VariantDef| matches!(var.discr, ty::VariantDiscr::Explicit(_));
|
||||
|
||||
let has_non_units = def.variants().iter().any(|var| !is_unit(var));
|
||||
let disr_units = def.variants().iter().any(|var| is_unit(&var) && has_disr(&var));
|
||||
let disr_non_unit = def.variants().iter().any(|var| !is_unit(&var) && has_disr(&var));
|
||||
let disr_units = def.variants().iter().any(|var| is_unit(var) && has_disr(var));
|
||||
let disr_non_unit = def.variants().iter().any(|var| !is_unit(var) && has_disr(var));
|
||||
|
||||
if disr_non_unit || (disr_units && has_non_units) {
|
||||
let mut err = struct_span_err!(
|
||||
|
|
|
@ -307,7 +307,7 @@ fn compare_method_predicate_entailment<'tcx>(
|
|||
debug!(?impl_sig, ?trait_sig, ?terr, "sub_types failed");
|
||||
|
||||
let emitted = report_trait_method_mismatch(
|
||||
&infcx,
|
||||
infcx,
|
||||
cause,
|
||||
terr,
|
||||
(trait_m, trait_sig),
|
||||
|
@ -1140,7 +1140,7 @@ fn report_trait_method_mismatch<'tcx>(
|
|||
) -> ErrorGuaranteed {
|
||||
let tcx = infcx.tcx;
|
||||
let (impl_err_span, trait_err_span) =
|
||||
extract_spans_for_error_reporting(&infcx, terr, &cause, impl_m, trait_m);
|
||||
extract_spans_for_error_reporting(infcx, terr, &cause, impl_m, trait_m);
|
||||
|
||||
let mut diag = struct_span_err!(
|
||||
tcx.sess,
|
||||
|
|
|
@ -307,7 +307,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
if let Err(msg) = reg.validate(
|
||||
asm_arch,
|
||||
self.tcx.sess.relocation_model(),
|
||||
&target_features,
|
||||
target_features,
|
||||
&self.tcx.sess.target,
|
||||
op.is_clobber(),
|
||||
) {
|
||||
|
@ -382,7 +382,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
asm.template,
|
||||
true,
|
||||
None,
|
||||
&target_features,
|
||||
target_features,
|
||||
);
|
||||
}
|
||||
hir::InlineAsmOperand::Out { reg, late: _, expr } => {
|
||||
|
@ -394,7 +394,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
asm.template,
|
||||
false,
|
||||
None,
|
||||
&target_features,
|
||||
target_features,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
asm.template,
|
||||
false,
|
||||
None,
|
||||
&target_features,
|
||||
target_features,
|
||||
);
|
||||
}
|
||||
hir::InlineAsmOperand::SplitInOut { reg, late: _, in_expr, out_expr } => {
|
||||
|
@ -417,7 +417,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
asm.template,
|
||||
true,
|
||||
None,
|
||||
&target_features,
|
||||
target_features,
|
||||
);
|
||||
if let Some(out_expr) = out_expr {
|
||||
self.check_asm_operand_type(
|
||||
|
@ -427,7 +427,7 @@ impl<'a, 'tcx> InlineAsmCtxt<'a, 'tcx> {
|
|||
asm.template,
|
||||
false,
|
||||
Some((in_expr, in_ty)),
|
||||
&target_features,
|
||||
target_features,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -414,11 +414,11 @@ fn resolve_expr<'tcx>(visitor: &mut RegionResolutionVisitor<'tcx>, expr: &'tcx h
|
|||
// then we'll assign too low a count to any `yield` expressions
|
||||
// we encounter in 'right_expression' - they should really occur after all of the
|
||||
// expressions in 'left_expression'.
|
||||
visitor.visit_expr(&right_expr);
|
||||
visitor.visit_expr(right_expr);
|
||||
visitor.pessimistic_yield = prev_pessimistic;
|
||||
|
||||
debug!("resolve_expr - restoring pessimistic_yield to {}", prev_pessimistic);
|
||||
visitor.visit_expr(&left_expr);
|
||||
visitor.visit_expr(left_expr);
|
||||
debug!("resolve_expr - fixing up counts to {}", visitor.expr_and_pat_count);
|
||||
|
||||
// Remove and process any scopes pushed by the visitor
|
||||
|
@ -582,7 +582,7 @@ fn resolve_local<'tcx>(
|
|||
// due to rule C.
|
||||
|
||||
if let Some(expr) = init {
|
||||
record_rvalue_scope_if_borrow_expr(visitor, &expr, blk_scope);
|
||||
record_rvalue_scope_if_borrow_expr(visitor, expr, blk_scope);
|
||||
|
||||
if let Some(pat) = pat {
|
||||
if is_binding_pat(pat) {
|
||||
|
@ -645,21 +645,19 @@ fn resolve_local<'tcx>(
|
|||
match pat.kind {
|
||||
PatKind::Binding(hir::BindingAnnotation(hir::ByRef::Yes, _), ..) => true,
|
||||
|
||||
PatKind::Struct(_, field_pats, _) => {
|
||||
field_pats.iter().any(|fp| is_binding_pat(&fp.pat))
|
||||
}
|
||||
PatKind::Struct(_, field_pats, _) => field_pats.iter().any(|fp| is_binding_pat(fp.pat)),
|
||||
|
||||
PatKind::Slice(pats1, pats2, pats3) => {
|
||||
pats1.iter().any(|p| is_binding_pat(&p))
|
||||
|| pats2.iter().any(|p| is_binding_pat(&p))
|
||||
|| pats3.iter().any(|p| is_binding_pat(&p))
|
||||
pats1.iter().any(|p| is_binding_pat(p))
|
||||
|| pats2.iter().any(|p| is_binding_pat(p))
|
||||
|| pats3.iter().any(|p| is_binding_pat(p))
|
||||
}
|
||||
|
||||
PatKind::Or(subpats)
|
||||
| PatKind::TupleStruct(_, subpats, _)
|
||||
| PatKind::Tuple(subpats, _) => subpats.iter().any(|p| is_binding_pat(&p)),
|
||||
| PatKind::Tuple(subpats, _) => subpats.iter().any(|p| is_binding_pat(p)),
|
||||
|
||||
PatKind::Box(subpat) => is_binding_pat(&subpat),
|
||||
PatKind::Box(subpat) => is_binding_pat(subpat),
|
||||
|
||||
PatKind::Ref(_, _)
|
||||
| PatKind::Binding(hir::BindingAnnotation(hir::ByRef::No, _), ..)
|
||||
|
@ -700,20 +698,20 @@ fn resolve_local<'tcx>(
|
|||
}
|
||||
hir::ExprKind::Struct(_, fields, _) => {
|
||||
for field in fields {
|
||||
record_rvalue_scope_if_borrow_expr(visitor, &field.expr, blk_id);
|
||||
record_rvalue_scope_if_borrow_expr(visitor, field.expr, blk_id);
|
||||
}
|
||||
}
|
||||
hir::ExprKind::Array(subexprs) | hir::ExprKind::Tup(subexprs) => {
|
||||
for subexpr in subexprs {
|
||||
record_rvalue_scope_if_borrow_expr(visitor, &subexpr, blk_id);
|
||||
record_rvalue_scope_if_borrow_expr(visitor, subexpr, blk_id);
|
||||
}
|
||||
}
|
||||
hir::ExprKind::Cast(subexpr, _) => {
|
||||
record_rvalue_scope_if_borrow_expr(visitor, &subexpr, blk_id)
|
||||
record_rvalue_scope_if_borrow_expr(visitor, subexpr, blk_id)
|
||||
}
|
||||
hir::ExprKind::Block(block, _) => {
|
||||
if let Some(subexpr) = block.expr {
|
||||
record_rvalue_scope_if_borrow_expr(visitor, &subexpr, blk_id);
|
||||
record_rvalue_scope_if_borrow_expr(visitor, subexpr, blk_id);
|
||||
}
|
||||
}
|
||||
hir::ExprKind::Call(..) | hir::ExprKind::MethodCall(..) => {
|
||||
|
@ -795,13 +793,13 @@ impl<'tcx> Visitor<'tcx> for RegionResolutionVisitor<'tcx> {
|
|||
// The arguments and `self` are parented to the fn.
|
||||
self.cx.var_parent = self.cx.parent.take();
|
||||
for param in body.params {
|
||||
self.visit_pat(¶m.pat);
|
||||
self.visit_pat(param.pat);
|
||||
}
|
||||
|
||||
// The body of the every fn is a root scope.
|
||||
self.cx.parent = self.cx.var_parent;
|
||||
if self.tcx.hir().body_owner_kind(owner_id).is_fn_or_closure() {
|
||||
self.visit_expr(&body.value)
|
||||
self.visit_expr(body.value)
|
||||
} else {
|
||||
// Only functions have an outer terminating (drop) scope, while
|
||||
// temporaries in constant initializers may be 'static, but only
|
||||
|
@ -822,7 +820,7 @@ impl<'tcx> Visitor<'tcx> for RegionResolutionVisitor<'tcx> {
|
|||
// (i.e., `'static`), which means that after `g` returns, it drops,
|
||||
// and all the associated destruction scope rules apply.
|
||||
self.cx.var_parent = None;
|
||||
resolve_local(self, None, Some(&body.value));
|
||||
resolve_local(self, None, Some(body.value));
|
||||
}
|
||||
|
||||
if body.coroutine_kind.is_some() {
|
||||
|
@ -849,7 +847,7 @@ impl<'tcx> Visitor<'tcx> for RegionResolutionVisitor<'tcx> {
|
|||
resolve_expr(self, ex);
|
||||
}
|
||||
fn visit_local(&mut self, l: &'tcx Local<'tcx>) {
|
||||
resolve_local(self, Some(&l.pat), l.init)
|
||||
resolve_local(self, Some(l.pat), l.init)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -584,7 +584,7 @@ fn gather_gat_bounds<'tcx, T: TypeFoldable<TyCtxt<'tcx>>>(
|
|||
// reflected in a where clause on the GAT itself.
|
||||
for (ty, ty_idx) in &types {
|
||||
// In our example, requires that `Self: 'a`
|
||||
if ty_known_to_outlive(tcx, item_def_id, param_env, &wf_tys, *ty, *region_a) {
|
||||
if ty_known_to_outlive(tcx, item_def_id, param_env, wf_tys, *ty, *region_a) {
|
||||
debug!(?ty_idx, ?region_a_idx);
|
||||
debug!("required clause: {ty} must outlive {region_a}");
|
||||
// Translate into the generic parameters of the GAT. In
|
||||
|
@ -623,7 +623,7 @@ fn gather_gat_bounds<'tcx, T: TypeFoldable<TyCtxt<'tcx>>>(
|
|||
if matches!(**region_b, ty::ReStatic | ty::ReError(_)) || region_a == region_b {
|
||||
continue;
|
||||
}
|
||||
if region_known_to_outlive(tcx, item_def_id, param_env, &wf_tys, *region_a, *region_b) {
|
||||
if region_known_to_outlive(tcx, item_def_id, param_env, wf_tys, *region_a, *region_b) {
|
||||
debug!(?region_a_idx, ?region_b_idx);
|
||||
debug!("required clause: {region_a} must outlive {region_b}");
|
||||
// Translate into the generic parameters of the GAT.
|
||||
|
@ -671,7 +671,7 @@ fn ty_known_to_outlive<'tcx>(
|
|||
ty: Ty<'tcx>,
|
||||
region: ty::Region<'tcx>,
|
||||
) -> bool {
|
||||
resolve_regions_with_wf_tys(tcx, id, param_env, &wf_tys, |infcx, region_bound_pairs| {
|
||||
resolve_regions_with_wf_tys(tcx, id, param_env, wf_tys, |infcx, region_bound_pairs| {
|
||||
let origin = infer::RelateParamBound(DUMMY_SP, ty, None);
|
||||
let outlives = &mut TypeOutlives::new(infcx, tcx, region_bound_pairs, None, param_env);
|
||||
outlives.type_must_outlive(origin, ty, region, ConstraintCategory::BoringNoLocation);
|
||||
|
@ -688,7 +688,7 @@ fn region_known_to_outlive<'tcx>(
|
|||
region_a: ty::Region<'tcx>,
|
||||
region_b: ty::Region<'tcx>,
|
||||
) -> bool {
|
||||
resolve_regions_with_wf_tys(tcx, id, param_env, &wf_tys, |mut infcx, _| {
|
||||
resolve_regions_with_wf_tys(tcx, id, param_env, wf_tys, |mut infcx, _| {
|
||||
use rustc_infer::infer::outlives::obligations::TypeOutlivesDelegate;
|
||||
let origin = infer::RelateRegionParamBound(DUMMY_SP);
|
||||
// `region_a: region_b` -> `region_b <= region_a`
|
||||
|
|
|
@ -58,7 +58,7 @@ fn do_orphan_check_impl<'tcx>(
|
|||
tr.path.span,
|
||||
trait_ref,
|
||||
impl_.self_ty.span,
|
||||
&impl_.generics,
|
||||
impl_.generics,
|
||||
err,
|
||||
)?
|
||||
}
|
||||
|
|
|
@ -1090,7 +1090,7 @@ fn is_suggestable_infer_ty(ty: &hir::Ty<'_>) -> bool {
|
|||
pub fn get_infer_ret_ty<'hir>(output: &'hir hir::FnRetTy<'hir>) -> Option<&'hir hir::Ty<'hir>> {
|
||||
if let hir::FnRetTy::Return(ty) = output {
|
||||
if is_suggestable_infer_ty(ty) {
|
||||
return Some(&*ty);
|
||||
return Some(*ty);
|
||||
}
|
||||
}
|
||||
None
|
||||
|
@ -1373,7 +1373,7 @@ fn impl_trait_ref(
|
|||
if let Some(ErrorGuaranteed { .. }) = check_impl_constness(
|
||||
tcx,
|
||||
tcx.is_const_trait_impl_raw(def_id.to_def_id()),
|
||||
&ast_trait_ref,
|
||||
ast_trait_ref,
|
||||
) {
|
||||
// we have a const impl, but for a trait without `#[const_trait]`, so
|
||||
// without the host param. If we continue with the HIR trait ref, we get
|
||||
|
@ -1394,7 +1394,7 @@ fn impl_trait_ref(
|
|||
let trait_ref = hir::TraitRef { path: &path, hir_ref_id: ast_trait_ref.hir_ref_id };
|
||||
icx.astconv().instantiate_mono_trait_ref(&trait_ref, selfty)
|
||||
} else {
|
||||
icx.astconv().instantiate_mono_trait_ref(&ast_trait_ref, selfty)
|
||||
icx.astconv().instantiate_mono_trait_ref(ast_trait_ref, selfty)
|
||||
}
|
||||
})
|
||||
.map(ty::EarlyBinder::bind)
|
||||
|
|
|
@ -182,7 +182,7 @@ pub(super) fn generics_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::Generics {
|
|||
}
|
||||
|
||||
let no_generics = hir::Generics::empty();
|
||||
let ast_generics = node.generics().unwrap_or(&no_generics);
|
||||
let ast_generics = node.generics().unwrap_or(no_generics);
|
||||
let (opt_self, allow_defaults) = match node {
|
||||
Node::Item(item) => {
|
||||
match item.kind {
|
||||
|
@ -458,11 +458,11 @@ fn has_late_bound_regions<'tcx>(tcx: TyCtxt<'tcx>, node: Node<'tcx>) -> Option<S
|
|||
|
||||
match node {
|
||||
Node::TraitItem(item) => match &item.kind {
|
||||
hir::TraitItemKind::Fn(sig, _) => has_late_bound_regions(tcx, &item.generics, sig.decl),
|
||||
hir::TraitItemKind::Fn(sig, _) => has_late_bound_regions(tcx, item.generics, sig.decl),
|
||||
_ => None,
|
||||
},
|
||||
Node::ImplItem(item) => match &item.kind {
|
||||
hir::ImplItemKind::Fn(sig, _) => has_late_bound_regions(tcx, &item.generics, sig.decl),
|
||||
hir::ImplItemKind::Fn(sig, _) => has_late_bound_regions(tcx, item.generics, sig.decl),
|
||||
_ => None,
|
||||
},
|
||||
Node::ForeignItem(item) => match item.kind {
|
||||
|
|
|
@ -290,7 +290,7 @@ fn gather_explicit_predicates_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::Gen
|
|||
}
|
||||
|
||||
hir::WherePredicate::RegionPredicate(region_pred) => {
|
||||
let r1 = icx.astconv().ast_region_to_region(®ion_pred.lifetime, None);
|
||||
let r1 = icx.astconv().ast_region_to_region(region_pred.lifetime, None);
|
||||
predicates.extend(region_pred.bounds.iter().map(|bound| {
|
||||
let (r2, span) = match bound {
|
||||
hir::GenericBound::Outlives(lt) => {
|
||||
|
@ -714,9 +714,9 @@ pub(super) fn type_param_predicates(
|
|||
|
||||
let item_hir_id = tcx.hir().local_def_id_to_hir_id(item_def_id);
|
||||
let ast_generics = match tcx.hir().get(item_hir_id) {
|
||||
Node::TraitItem(item) => &item.generics,
|
||||
Node::TraitItem(item) => item.generics,
|
||||
|
||||
Node::ImplItem(item) => &item.generics,
|
||||
Node::ImplItem(item) => item.generics,
|
||||
|
||||
Node::Item(item) => {
|
||||
match item.kind {
|
||||
|
|
|
@ -565,7 +565,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
|
|||
let mut bound_vars = FxIndexMap::default();
|
||||
debug!(?generics.params);
|
||||
for param in generics.params {
|
||||
let (def_id, reg) = ResolvedArg::early(¶m);
|
||||
let (def_id, reg) = ResolvedArg::early(param);
|
||||
bound_vars.insert(def_id, reg);
|
||||
}
|
||||
|
||||
|
@ -684,7 +684,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
|
|||
lifetime: self.map.defs.get(&lifetime_ref.hir_id).cloned(),
|
||||
s: self.scope,
|
||||
};
|
||||
self.with(scope, |this| this.visit_ty(&mt.ty));
|
||||
self.with(scope, |this| this.visit_ty(mt.ty));
|
||||
}
|
||||
hir::TyKind::OpaqueDef(item_id, lifetimes, _in_trait) => {
|
||||
// Resolve the lifetimes in the bounds to the lifetime defs in the generics.
|
||||
|
@ -775,7 +775,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
|
|||
}
|
||||
Type(bounds, ty) => {
|
||||
self.visit_early(trait_item.hir_id(), trait_item.generics, |this| {
|
||||
this.visit_generics(&trait_item.generics);
|
||||
this.visit_generics(trait_item.generics);
|
||||
for bound in bounds {
|
||||
this.visit_param_bound(bound);
|
||||
}
|
||||
|
@ -847,7 +847,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
|
|||
hir::FnRetTy::DefaultReturn(_) => None,
|
||||
hir::FnRetTy::Return(ty) => Some(ty),
|
||||
};
|
||||
self.visit_fn_like_elision(&fd.inputs, output, matches!(fk, intravisit::FnKind::Closure));
|
||||
self.visit_fn_like_elision(fd.inputs, output, matches!(fk, intravisit::FnKind::Closure));
|
||||
intravisit::walk_fn_kind(self, fk);
|
||||
self.visit_nested_body(body_id)
|
||||
}
|
||||
|
@ -894,7 +894,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
|
|||
};
|
||||
self.with(scope, |this| {
|
||||
walk_list!(this, visit_generic_param, bound_generic_params);
|
||||
this.visit_ty(&bounded_ty);
|
||||
this.visit_ty(bounded_ty);
|
||||
walk_list!(this, visit_param_bound, bounds);
|
||||
})
|
||||
}
|
||||
|
@ -1061,7 +1061,7 @@ impl<'a, 'tcx> BoundVarContext<'a, 'tcx> {
|
|||
{
|
||||
let BoundVarContext { tcx, map, .. } = self;
|
||||
let mut this = BoundVarContext { tcx: *tcx, map, scope: &wrap_scope };
|
||||
let span = debug_span!("scope", scope = ?TruncatedScopeDebug(&this.scope));
|
||||
let span = debug_span!("scope", scope = ?TruncatedScopeDebug(this.scope));
|
||||
{
|
||||
let _enter = span.enter();
|
||||
f(&mut this);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue