code cleanup with err.emit_unless

This commit is contained in:
yukang 2022-11-04 16:10:32 +08:00
parent 465ac26405
commit 3320879f40
2 changed files with 2 additions and 6 deletions

View File

@ -1096,11 +1096,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
// If the assignment expression itself is ill-formed, don't
// bother emitting another error
let reported = if lhs_ty.references_error() || rhs_ty.references_error() {
err.delay_as_bug()
} else {
err.emit()
};
let reported = err.emit_unless(lhs_ty.references_error() || rhs_ty.references_error());
return self.tcx.ty_error_with_guaranteed(reported);
}

View File

@ -1310,7 +1310,7 @@ impl<'tcx> TyCtxt<'tcx> {
ty: Ty<'tcx>,
reported: ErrorGuaranteed,
) -> Const<'tcx> {
self.mk_const(ty::ConstS { kind: ty::ConstKind::Error(reported), ty })
self.mk_const(ty::ConstKind::Error(reported), ty)
}
/// Like [TyCtxt::ty_error] but for constants.