Module compare_eii

Module compare_eii 

Source
Expand description

This module is very similar to compare_impl_item. Most logic is taken from there, since in a very similar way we’re comparing some declaration of a signature to an implementation. The major difference is that we don’t bother with self types, since for EIIs we’re comparing freestanding item.

Functions§

check_early_region_bounds 🔒
check_is_structurally_compatible 🔒
Checks a bunch of different properties of the impl/trait methods for compatibility, such as asyncness, number of argument, self receiver kind, and number of early- and late-bound generics.
check_no_generics 🔒
externally implementable items can’t have generics
check_number_of_arguments 🔒
compare_eii_function_types 🔒
Checks whether the signature of some external_impl, matches the signature of declaration, which it is supposed to be compatible with in order to implement the item.
extract_spans_for_error_reporting 🔒
get_declaration_sig 🔒
report_eii_mismatch 🔒
report_number_of_arguments_mismatch 🔒