rustc_trait_selection::traits::wf

Function object_region_bounds

source
pub fn object_region_bounds<'tcx>(
    tcx: TyCtxt<'tcx>,
    existential_predicates: &'tcx List<PolyExistentialPredicate<'tcx>>,
) -> Vec<Region<'tcx>>
Expand description

Given an object type like SomeTrait + Send, computes the lifetime bounds that must hold on the elided self type. These are derived from the declarations of SomeTrait, Send, and friends – if they declare trait SomeTrait : 'static, for example, then 'static would appear in the list. The hard work is done by infer::required_region_bounds, see that for more information.