fn extend_cause_with_original_assoc_item_obligation<'tcx>(
    tcx: TyCtxt<'tcx>,
    trait_ref: TraitRef<'tcx>,
    item: Option<&Item<'tcx>>,
    cause: &mut ObligationCause<'tcx>,
    pred: Predicate<'tcx>
)