) -> Ty<'_> {
let closure_ty = tcx.typeck_body(body_id).node_type(closure_expr_id);
- let (closure_def_id, closure_substs) = match *closure_ty.kind() {
- ty::Closure(closure_def_id, closure_substs) => (closure_def_id, closure_substs),
- _ => bug!("closure expr does not have closure type: {:?}", closure_ty),
+ let ty::Closure(closure_def_id, closure_substs) = *closure_ty.kind() else {
+ bug!("closure expr does not have closure type: {:?}", closure_ty);
};
let bound_vars =
let arg_local = self.local_decls.push(LocalDecl::with_source_info(ty, source_info));
// If this is a simple binding pattern, give debuginfo a nice name.
- if let Some(arg) = arg_opt {
- if let Some(ident) = arg.pat.simple_ident() {
- self.var_debug_info.push(VarDebugInfo {
- name: ident.name,
- source_info,
- value: VarDebugInfoContents::Place(arg_local.into()),
- });
- }
+ if let Some(arg) = arg_opt && let Some(ident) = arg.pat.simple_ident() {
+ self.var_debug_info.push(VarDebugInfo {
+ name: ident.name,
+ source_info,
+ value: VarDebugInfoContents::Place(arg_local.into()),
+ });
}
}