pub fn cpp_candidate_argument_applicability(
candidate: &CodeUnit,
arg_types: &[Option<CppArgType>],
parameter_types: &dyn Fn(&CodeUnit) -> Option<Vec<String>>,
is_template: &dyn Fn(&CodeUnit) -> bool,
resolve_type: &dyn Fn(&str) -> Option<CodeUnit>,
assignable: &dyn Fn(&CodeUnit, &CodeUnit) -> bool,
) -> CppArgumentApplicabilityExpand description
Classify one candidate using the same structured parameter/type comparison
as cpp_filter_candidates_by_args_with_parameter_types. This is a
deliberately narrower question than overload selection: an exact written
type match is applicable, a proven pointer-shape mismatch is inapplicable,
and every conversion or incomplete fact stays unknown.