Function rustc_hir_analysis::coherence::orphan::orphan_check
source · fn orphan_check<'tcx>(
tcx: TyCtxt<'tcx>,
impl_def_id: LocalDefId,
mode: OrphanCheckMode,
) -> Result<(), OrphanCheckErr<TyCtxt<'tcx>, FxIndexSet<DefId>>>Expand description
Checks the coherence orphan rules.
impl_def_id should be the DefId of a trait impl.
To pass, either the trait must be local, or else two conditions must be satisfied:
- All type parameters in
Selfmust be “covered” by some local type constructor. - Some local type must appear in
Self.