Expand description
This module contains methods that assist in checking that impls are general enough, i.e. that they always apply to every valid instantaiton of the ADT they’re implemented for.
This is necessary for Drop
and negative impls to be well-formed.
Functions§
- check_
drop_ 🔒impl - This function confirms that the
Drop
implementation identified bydrop_impl_did
is not any more specialized than the type it is attached to (Issue #8142). - check_
negative_ 🔒auto_ trait_ impl - ensure_
impl_ 🔒params_ and_ item_ params_ correspond - ensure_
impl_ 🔒predicates_ are_ implied_ by_ item_ defn - Confirms that all predicates defined on the
Drop
impl (drop_impl_def_id
) are able to be proven from withinadt_def_id
’s environment. I.e. all the predicates on the impl are implied by the ADT being well formed.