Migrate 'missing fn lang items' diagnostic
This commit is contained in:
parent
cb9f666fdf
commit
8696ee8b09
@ -72,6 +72,9 @@ hir_typeck_lang_start_incorrect_ret_ty = the return type of the `start` lang ite
|
||||
hir_typeck_method_call_on_unknown_raw_pointee =
|
||||
cannot call a method on a raw pointer with an unknown pointee type
|
||||
|
||||
hir_typeck_missing_fn_lang_items = failed to find an overloaded call trait for closure call
|
||||
.help = make sure the `fn`/`fn_mut`/`fn_once` lang items are defined and have correctly defined `call`/`call_mut`/`call_once` methods
|
||||
|
||||
hir_typeck_missing_parentheses_in_range = can't call method `{$method_name}` on type `{$ty_str}`
|
||||
|
||||
hir_typeck_no_associated_item = no {$item_kind} named `{$item_name}` found for {$ty_prefix} `{$ty_str}`{$trait_missing_method ->
|
||||
|
@ -607,7 +607,7 @@ fn report_invalid_callee(
|
||||
ty: match &unit_variant {
|
||||
Some((_, kind, path)) => format!("{kind} `{path}`"),
|
||||
None => format!("`{callee_ty}`"),
|
||||
}
|
||||
},
|
||||
});
|
||||
if callee_ty.references_error() {
|
||||
err.downgrade_to_delayed_bug();
|
||||
@ -882,15 +882,7 @@ pub fn resolve(self, fcx: &FnCtxt<'a, 'tcx>) {
|
||||
None => {
|
||||
// This can happen if `#![no_core]` is used and the `fn/fn_mut/fn_once`
|
||||
// lang items are not defined (issue #86238).
|
||||
let mut err = fcx.inh.tcx.sess.struct_span_err(
|
||||
self.call_expr.span,
|
||||
"failed to find an overloaded call trait for closure call",
|
||||
);
|
||||
err.help(
|
||||
"make sure the `fn`/`fn_mut`/`fn_once` lang items are defined \
|
||||
and have correctly defined `call`/`call_mut`/`call_once` methods",
|
||||
);
|
||||
err.emit();
|
||||
fcx.inh.tcx.sess.emit_err(errors::MissingFnLangItems { span: self.call_expr.span });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,6 +83,14 @@ pub struct MethodCallOnUnknownRawPointee {
|
||||
pub span: Span,
|
||||
}
|
||||
|
||||
#[derive(Diagnostic)]
|
||||
#[diag(hir_typeck_missing_fn_lang_items)]
|
||||
#[help]
|
||||
pub struct MissingFnLangItems {
|
||||
#[primary_span]
|
||||
pub span: Span,
|
||||
}
|
||||
|
||||
#[derive(Diagnostic)]
|
||||
#[diag(hir_typeck_functional_record_update_on_non_struct, code = "E0436")]
|
||||
pub struct FunctionalRecordUpdateOnNonStruct {
|
||||
|
Loading…
Reference in New Issue
Block a user