pub fn predicate_obligations<'a, 'tcx>( infcx: &InferCtxt<'a, 'tcx>, param_env: ParamEnv<'tcx>, body_id: HirId, predicate: Predicate<'tcx>, span: Span) -> Vec<PredicateObligation<'tcx>>