/// Region checking during the WF phase for items. `wf_tys` are the
/// types from which we should derive implied bounds, if any.
Region checking during the WF phase for items. `wf_tys` are the
types from which we should derive implied bounds, if any.
Region checking during the WF phase for items . ` wf_tys ` are the types from which we should derive implied bounds if any .
pub fn regionck_item<'a,'tcx>(fcx: &FnCtxt<'a,'tcx>,
                              item_id: ast::NodeId,
                              span: Span,
                              wf_tys: &[Ty<'tcx>]) {
    debug!("regionck_item(item.id={:?}, wf_tys={:?}", item_id, wf_tys);
    let mut rcx = Rcx::new(fcx, RepeatingScope(item_id), item_id, Subject(item_id));
    let tcx = fcx.tcx();
    rcx.free_region_map
       .relate_free_regions_from_predicates(tcx, &fcx.infcx().parameter_environment.caller_bounds);
    rcx.relate_free_regions(wf_tys, item_id, span);
    rcx.visit_region_obligations(item_id);
    rcx.resolve_regions_and_report_errors();
}
pub fn regionck_item < ' a , ' tcx > ( fcx : & FnCtxt < ' a , ' tcx > , item_id : ast :: NodeId , span : Span , wf_tys : & [ Ty < ' tcx > ] ) { debug ! ( " " item_id wf_tys ) ; let mut rcx = Rcx :: new ( fcx , RepeatingScope ( item_id ) , item_id , Subject ( item_id ) ) ; let tcx = fcx . tcx ( ) ; rcx . free_region_map . relate_free_regions_from_predicates ( tcx , & fcx . infcx ( ) . parameter_environment . caller_bounds ) ; rcx . relate_free_regions ( wf_tys , item_id , span ) ; rcx . visit_region_obligations ( item_id ) ; rcx . resolve_regions_and_report_errors ( ) ; }
Region checking during the WF phase for items.
Region checking during the WF phase for items .
fcx
&FnCtxt<'a,'tcx>
item_id
ast::NodeId
span
Span
wf_tys
&[Ty<'tcx>]