Skip to content

Commit ed7c681

Browse files
committed
Early return to decrease indentation
1 parent 8e548bf commit ed7c681

File tree

1 file changed

+39
-44
lines changed
  • compiler/rustc_ast_lowering/src

1 file changed

+39
-44
lines changed

compiler/rustc_ast_lowering/src/expr.rs

Lines changed: 39 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,52 +1186,47 @@ impl<'hir> LoweringContext<'_, 'hir> {
11861186
input| {
11871187
match used_regs.entry(r) {
11881188
Entry::Occupied(o) => {
1189-
if !skip {
1190-
skip = true;
1191-
1192-
let idx2 = *o.get();
1193-
let op2 = &operands[idx2];
1194-
let op_sp2 = asm.operands[idx2].1;
1195-
let reg2 = match op2.reg() {
1196-
Some(asm::InlineAsmRegOrRegClass::Reg(r)) => r,
1197-
_ => unreachable!(),
1198-
};
1199-
1200-
let msg = format!(
1201-
"register `{}` conflicts with register `{}`",
1202-
reg.name(),
1203-
reg2.name()
1204-
);
1205-
let mut err = sess.struct_span_err(op_sp, &msg);
1206-
err.span_label(
1207-
op_sp,
1208-
&format!("register `{}`", reg.name()),
1209-
);
1210-
err.span_label(
1211-
op_sp2,
1212-
&format!("register `{}`", reg2.name()),
1213-
);
1214-
1215-
match (op, op2) {
1216-
(
1217-
hir::InlineAsmOperand::In { .. },
1218-
hir::InlineAsmOperand::Out { late, .. },
1219-
)
1220-
| (
1221-
hir::InlineAsmOperand::Out { late, .. },
1222-
hir::InlineAsmOperand::In { .. },
1223-
) => {
1224-
assert!(!*late);
1225-
let out_op_sp = if input { op_sp2 } else { op_sp };
1226-
let msg = "use `lateout` instead of \
1227-
`out` to avoid conflict";
1228-
err.span_help(out_op_sp, msg);
1229-
}
1230-
_ => {}
1189+
if skip {
1190+
return;
1191+
}
1192+
skip = true;
1193+
1194+
let idx2 = *o.get();
1195+
let op2 = &operands[idx2];
1196+
let op_sp2 = asm.operands[idx2].1;
1197+
let reg2 = match op2.reg() {
1198+
Some(asm::InlineAsmRegOrRegClass::Reg(r)) => r,
1199+
_ => unreachable!(),
1200+
};
1201+
1202+
let msg = format!(
1203+
"register `{}` conflicts with register `{}`",
1204+
reg.name(),
1205+
reg2.name()
1206+
);
1207+
let mut err = sess.struct_span_err(op_sp, &msg);
1208+
err.span_label(op_sp, &format!("register `{}`", reg.name()));
1209+
err.span_label(op_sp2, &format!("register `{}`", reg2.name()));
1210+
1211+
match (op, op2) {
1212+
(
1213+
hir::InlineAsmOperand::In { .. },
1214+
hir::InlineAsmOperand::Out { late, .. },
1215+
)
1216+
| (
1217+
hir::InlineAsmOperand::Out { late, .. },
1218+
hir::InlineAsmOperand::In { .. },
1219+
) => {
1220+
assert!(!*late);
1221+
let out_op_sp = if input { op_sp2 } else { op_sp };
1222+
let msg = "use `lateout` instead of \
1223+
`out` to avoid conflict";
1224+
err.span_help(out_op_sp, msg);
12311225
}
1232-
1233-
err.emit();
1226+
_ => {}
12341227
}
1228+
1229+
err.emit();
12351230
}
12361231
Entry::Vacant(v) => {
12371232
v.insert(idx);

0 commit comments

Comments
 (0)