Rollup merge of #144103 - xizheyin:emit-unless, r=compiler-errors
Rename `emit_unless` to `emit_unless_delay` `emit_unless` is very unintuitive and confusing. The first impression is as if it will only emit if the parameter is true, without the altnative "delay as a bug". `emit_unless_delay` expresses two things: 1. emit unless the `delay` parameter is true 2. either *emit immediately* or *delay as bug* r? `@compiler-errors`
This commit is contained in:
commit
bd23cd62f2
7 changed files with 15 additions and 15 deletions
|
|
@ -1421,7 +1421,7 @@ impl<'a, G: EmissionGuarantee> Diag<'a, G> {
|
|||
///
|
||||
/// See `emit` and `delay_as_bug` for details.
|
||||
#[track_caller]
|
||||
pub fn emit_unless(mut self, delay: bool) -> G::EmitResult {
|
||||
pub fn emit_unless_delay(mut self, delay: bool) -> G::EmitResult {
|
||||
if delay {
|
||||
self.downgrade_to_delayed_bug();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1173,7 +1173,7 @@ fn check_region_bounds_on_impl_item<'tcx>(
|
|||
bounds_span,
|
||||
where_span,
|
||||
})
|
||||
.emit_unless(delay);
|
||||
.emit_unless_delay(delay);
|
||||
|
||||
Err(reported)
|
||||
}
|
||||
|
|
@ -1481,7 +1481,7 @@ fn compare_self_type<'tcx>(
|
|||
} else {
|
||||
err.note_trait_signature(trait_m.name(), trait_m.signature(tcx));
|
||||
}
|
||||
return Err(err.emit_unless(delay));
|
||||
return Err(err.emit_unless_delay(delay));
|
||||
}
|
||||
|
||||
(true, false) => {
|
||||
|
|
@ -1502,7 +1502,7 @@ fn compare_self_type<'tcx>(
|
|||
err.note_trait_signature(trait_m.name(), trait_m.signature(tcx));
|
||||
}
|
||||
|
||||
return Err(err.emit_unless(delay));
|
||||
return Err(err.emit_unless_delay(delay));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1662,7 +1662,7 @@ fn compare_number_of_generics<'tcx>(
|
|||
err.span_label(*span, "`impl Trait` introduces an implicit type parameter");
|
||||
}
|
||||
|
||||
let reported = err.emit_unless(delay);
|
||||
let reported = err.emit_unless_delay(delay);
|
||||
err_occurred = Some(reported);
|
||||
}
|
||||
}
|
||||
|
|
@ -1745,7 +1745,7 @@ fn compare_number_of_method_arguments<'tcx>(
|
|||
),
|
||||
);
|
||||
|
||||
return Err(err.emit_unless(delay));
|
||||
return Err(err.emit_unless_delay(delay));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
|
@ -1872,7 +1872,7 @@ fn compare_synthetic_generics<'tcx>(
|
|||
);
|
||||
};
|
||||
}
|
||||
error_found = Some(err.emit_unless(delay));
|
||||
error_found = Some(err.emit_unless_delay(delay));
|
||||
}
|
||||
}
|
||||
if let Some(reported) = error_found { Err(reported) } else { Ok(()) }
|
||||
|
|
@ -1974,7 +1974,7 @@ fn compare_generic_param_kinds<'tcx>(
|
|||
err.span_label(impl_header_span, "");
|
||||
err.span_label(param_impl_span, make_param_message("found", param_impl));
|
||||
|
||||
let reported = err.emit_unless(delay);
|
||||
let reported = err.emit_unless_delay(delay);
|
||||
return Err(reported);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2495,7 +2495,7 @@ fn deny_non_region_late_bound(
|
|||
format!("late-bound {what} parameter not allowed on {where_}"),
|
||||
);
|
||||
|
||||
let guar = diag.emit_unless(!tcx.features().non_lifetime_binders() || !first);
|
||||
let guar = diag.emit_unless_delay(!tcx.features().non_lifetime_binders() || !first);
|
||||
|
||||
first = false;
|
||||
*arg = ResolvedArg::Error(guar);
|
||||
|
|
|
|||
|
|
@ -570,7 +570,7 @@ pub(crate) fn check_generic_arg_count(
|
|||
gen_args,
|
||||
def_id,
|
||||
))
|
||||
.emit_unless(all_params_are_binded)
|
||||
.emit_unless_delay(all_params_are_binded)
|
||||
});
|
||||
|
||||
Err(reported)
|
||||
|
|
|
|||
|
|
@ -1775,7 +1775,7 @@ impl<'tcx, 'exprs, E: AsCoercionSite> CoerceMany<'tcx, 'exprs, E> {
|
|||
);
|
||||
}
|
||||
|
||||
let reported = err.emit_unless(unsized_return);
|
||||
let reported = err.emit_unless_delay(unsized_return);
|
||||
|
||||
self.final_ty = Some(Ty::new_error(fcx.tcx, reported));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1549,7 +1549,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
|
||||
// If the assignment expression itself is ill-formed, don't
|
||||
// bother emitting another error
|
||||
err.emit_unless(lhs_ty.references_error() || rhs_ty.references_error())
|
||||
err.emit_unless_delay(lhs_ty.references_error() || rhs_ty.references_error())
|
||||
}
|
||||
|
||||
pub(super) fn check_expr_let(
|
||||
|
|
@ -3865,7 +3865,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
self.dcx()
|
||||
.create_err(NoVariantNamed { span: ident.span, ident, ty: container })
|
||||
.with_span_label(field.span, "variant not found")
|
||||
.emit_unless(container.references_error());
|
||||
.emit_unless_delay(container.references_error());
|
||||
break;
|
||||
};
|
||||
let Some(&subfield) = fields.next() else {
|
||||
|
|
@ -3897,7 +3897,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
enum_span: field.span,
|
||||
field_span: subident.span,
|
||||
})
|
||||
.emit_unless(container.references_error());
|
||||
.emit_unless_delay(container.references_error());
|
||||
break;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2913,7 +2913,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
|
|||
self.r
|
||||
.dcx()
|
||||
.create_err(errors::UnderscoreLifetimeIsReserved { span: param.ident.span })
|
||||
.emit_unless(is_raw_underscore_lifetime);
|
||||
.emit_unless_delay(is_raw_underscore_lifetime);
|
||||
// Record lifetime res, so lowering knows there is something fishy.
|
||||
self.record_lifetime_param(param.id, LifetimeRes::Error);
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue