Avoid a Ty::new_misc_error when an ErrorGuaranteed is available
This commit is contained in:
parent
9065889ee6
commit
62990713ce
2 changed files with 5 additions and 5 deletions
|
|
@ -660,8 +660,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
})
|
||||
}
|
||||
|
||||
pub(crate) fn err_args(&self, len: usize) -> Vec<Ty<'tcx>> {
|
||||
let ty_error = Ty::new_misc_error(self.tcx);
|
||||
pub(crate) fn err_args(&self, len: usize, guar: ErrorGuaranteed) -> Vec<Ty<'tcx>> {
|
||||
let ty_error = Ty::new_error(self.tcx, guar);
|
||||
vec![ty_error; len]
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
Err(guar) => Err(guar),
|
||||
};
|
||||
if let Err(guar) = has_error {
|
||||
let err_inputs = self.err_args(args_no_rcvr.len());
|
||||
let err_inputs = self.err_args(args_no_rcvr.len(), guar);
|
||||
|
||||
let err_inputs = match tuple_arguments {
|
||||
DontTupleArguments => err_inputs,
|
||||
|
|
@ -237,7 +237,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
_ => {
|
||||
// Otherwise, there's a mismatch, so clear out what we're expecting, and set
|
||||
// our input types to err_args so we don't blow up the error messages
|
||||
struct_span_code_err!(
|
||||
let guar = struct_span_code_err!(
|
||||
tcx.dcx(),
|
||||
call_span,
|
||||
E0059,
|
||||
|
|
@ -245,7 +245,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
for the function trait is neither a tuple nor unit"
|
||||
)
|
||||
.emit();
|
||||
(self.err_args(provided_args.len()), None)
|
||||
(self.err_args(provided_args.len(), guar), None)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue