pub fn report_overflow_error_cycle<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>,
                                             cycle: &Vec<PredicateObligation<'tcx>>)
                                             -> !
{
    assert!(cycle.len() > 1);

    debug!("report_overflow_error_cycle(cycle length = {})", cycle.len());

    let cycle = infcx.resolve_type_vars_if_possible(cycle);

    debug!("report_overflow_error_cycle: cycle={:?}", cycle);

    assert_eq!(&cycle[0].predicate, &cycle.last().unwrap().predicate);

    try_report_overflow_error_type_of_infinite_size(infcx, &cycle);
    report_overflow_error(infcx, &cycle[0], false);
}
/// Reports that a cycle was detected which led to overflow and halts
/// compilation. This is equivalent to `report_overflow_error` except
/// that we can give a more helpful error message (and, in particular,
/// we do not suggest increasing the overflow limit, which is not
/// going to help).
Reports that a cycle was detected which led to overflow and halts
compilation. This is equivalent to `report_overflow_error` except
that we can give a more helpful error message (and, in particular,
we do not suggest increasing the overflow limit, which is not
going to help).
Reports that a cycle was detected which led to overflow and halts compilation . This is equivalent to ` report_overflow_error ` except that we can give a more helpful error message ( and in particular we do not suggest increasing the overflow limit which is not going to help ) .
pub fn report_overflow_error_cycle<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>,
                                             cycle: &Vec<PredicateObligation<'tcx>>)
                                             -> !
{
    assert!(cycle.len() > 1);
    debug!("report_overflow_error_cycle(cycle length = {})", cycle.len());
    let cycle = infcx.resolve_type_vars_if_possible(cycle);
    debug!("report_overflow_error_cycle: cycle={:?}", cycle);
    assert_eq!(&cycle[0].predicate, &cycle.last().unwrap().predicate);
    try_report_overflow_error_type_of_infinite_size(infcx, &cycle);
    report_overflow_error(infcx, &cycle[0], false);
}
pub fn report_overflow_error_cycle < ' a , ' tcx > ( infcx : & InferCtxt < ' a , ' tcx > , cycle : & Vec < PredicateObligation < ' tcx > > ) -> ! { assert ! ( cycle len ( ) 1 ) ; debug ! ( " " cycle len ( ) ) ; let cycle = infcx . resolve_type_vars_if_possible ( cycle ) ; debug ! ( " " cycle ) ; assert_eq ! ( cycle [ 0 ] predicate cycle last ( ) unwrap ( ) predicate ) ; try_report_overflow_error_type_of_infinite_size ( infcx , & cycle ) ; report_overflow_error ( infcx , & cycle [ 0 ] , false ) ; }
Reports that a cycle was detected which led to overflow and halts
compilation.
Reports that a cycle was detected which led to overflow and halts compilation .
infcx
&InferCtxt<'a, 'tcx>
cycle
&Vec<PredicateObligation<'tcx>>
infcx
&InferCtxt<'a, 'tcx>
cycle
&Vec<PredicateObligation<'tcx>>