Function rustc_lint::middle::traits::orphan_checkUnstable [-] [+] [src]

pub fn orphan_check(tcx: &ctxt<'tcx>, impl_def_id: DefId) -> Result<(), OrphanCheckErr<'tcx>>

Checks the coherence orphan rules. impl_def_id should be the def-id of a trait impl. To pass, either the trait must be local, or else two conditions must be satisfied:

  1. All type parameters in Self must be "covered" by some local type constructor.
  2. Some local type must appear in Self.