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 ofdeclaration, 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