/// Guarantees that any lifetimes which appear in the type of the node `id` (after applying
/// adjustments) are valid for at least `minimum_lifetime`
Guarantees that any lifetimes which appear in the type of the node `id` (after applying
adjustments) are valid for at least `minimum_lifetime`
Guarantees that any lifetimes which appear in the type of the node ` id ` ( after applying adjustments ) are valid for at least ` minimum_lifetime `
fn type_of_node_must_outlive<'a, 'tcx>(
    rcx: &mut Rcx<'a, 'tcx>,
    origin: infer::SubregionOrigin<'tcx>,
    id: ast::NodeId,
    minimum_lifetime: ty::Region)
{
    let tcx = rcx.fcx.tcx();
    // Try to resolve the type.  If we encounter an error, then typeck
    // is going to fail anyway, so just stop here and let typeck
    // report errors later on in the writeback phase.
    let ty0 = rcx.resolve_node_type(id);
    let ty = ty0.adjust(tcx, origin.span(), id,
                        rcx.fcx.inh.tables.borrow().adjustments.get(&id),
                        |method_call| rcx.resolve_method_type(method_call));
    debug!("constrain_regions_in_type_of_node(\
            ty={}, ty0={}, id={}, minimum_lifetime={:?})",
            ty,  ty0,
           id, minimum_lifetime);
    type_must_outlive(rcx, origin, ty, minimum_lifetime);
}
fn type_of_node_must_outlive < ' a , ' tcx > ( rcx : & mut Rcx < ' a , ' tcx > , origin : infer :: SubregionOrigin < ' tcx > , id : ast :: NodeId , minimum_lifetime : ty :: Region ) { let tcx = rcx . fcx . tcx ( ) ; // Try to resolve the type.  If we encounter an error, then typeck // is going to fail anyway, so just stop here and let typeck // report errors later on in the writeback phase. let ty0 = rcx . resolve_node_type ( id ) ; let ty = ty0 . adjust ( tcx , origin . span ( ) , id , rcx . fcx . inh . tables . borrow ( ) . adjustments . get ( & id ) , | method_call | rcx . resolve_method_type ( method_call ) ) ; debug ! ( " \
 " ty ty0 id minimum_lifetime ) ; type_must_outlive ( rcx , origin , ty , minimum_lifetime ) ; }
Guarantees that any lifetimes which appear in the type of the node `id` (after applying
adjustments) are valid for at least `minimum_lifetime`
Guarantees that any lifetimes which appear in the type of the node ` id ` ( after applying adjustments ) are valid for at least ` minimum_lifetime `
rcx
&mut Rcx<'a, 'tcx>
origin
infer::SubregionOrigin<'tcx>
id
ast::NodeId
minimum_lifetime
ty::Region