Auto merge of #102165 - matthiaskrgr:rollup-n5oquhe, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #100734 (Split out async_fn_in_trait into a separate feature) - #101664 (Note if mismatched types have a similar name) - #101815 (Migrated the rustc_passes annotation without effect diagnostic infrastructure) - #102042 (Distribute rust-docs-json via rustup.) - #102066 (rustdoc: remove unnecessary `max-width` on headers) - #102095 (Deduplicate two functions that would soon have been three) - #102104 (Set 'exec-env:RUST_BACKTRACE=0' in const-eval-select tests) - #102112 (Allow full relro on powerpc64-unknown-linux-gnu) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
4d44e09cb1
37 changed files with 442 additions and 72 deletions
|
@ -717,27 +717,13 @@ impl<'cx, 'tcx> Resolver<'cx, 'tcx> {
|
|||
Resolver { tcx: fcx.tcx, infcx: fcx, span, body, replaced_with_error: false }
|
||||
}
|
||||
|
||||
fn report_type_error(&self, t: Ty<'tcx>) {
|
||||
fn report_error(&self, p: impl Into<ty::GenericArg<'tcx>>) {
|
||||
if !self.tcx.sess.has_errors().is_some() {
|
||||
self.infcx
|
||||
.emit_inference_failure_err(
|
||||
Some(self.body.id()),
|
||||
self.span.to_span(self.tcx),
|
||||
t.into(),
|
||||
E0282,
|
||||
false,
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
}
|
||||
|
||||
fn report_const_error(&self, c: ty::Const<'tcx>) {
|
||||
if self.tcx.sess.has_errors().is_none() {
|
||||
self.infcx
|
||||
.emit_inference_failure_err(
|
||||
Some(self.body.id()),
|
||||
self.span.to_span(self.tcx),
|
||||
c.into(),
|
||||
p.into(),
|
||||
E0282,
|
||||
false,
|
||||
)
|
||||
|
@ -782,7 +768,7 @@ impl<'cx, 'tcx> TypeFolder<'tcx> for Resolver<'cx, 'tcx> {
|
|||
}
|
||||
Err(_) => {
|
||||
debug!("Resolver::fold_ty: input type `{:?}` not fully resolvable", t);
|
||||
self.report_type_error(t);
|
||||
self.report_error(t);
|
||||
self.replaced_with_error = true;
|
||||
self.tcx().ty_error()
|
||||
}
|
||||
|
@ -799,7 +785,7 @@ impl<'cx, 'tcx> TypeFolder<'tcx> for Resolver<'cx, 'tcx> {
|
|||
Ok(ct) => self.tcx.erase_regions(ct),
|
||||
Err(_) => {
|
||||
debug!("Resolver::fold_const: input const `{:?}` not fully resolvable", ct);
|
||||
self.report_const_error(ct);
|
||||
self.report_error(ct);
|
||||
self.replaced_with_error = true;
|
||||
self.tcx().const_error(ct.ty())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue