pub fn uninhabited_from(
                &self,
                visited: &mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>,
                tcx: TyCtxt<'a, 'gcx, 'tcx>) -> DefIdForest
    {
        match tcx.lift_to_global(&self) {
            Some(global_ty) => {
                {
                    let cache = tcx.inhabitedness_cache.borrow();
                    if let Some(forest) = cache.get(&global_ty) {
                        return forest.clone();
                    }
                }
                let forest = global_ty.uninhabited_from_inner(visited, tcx);
                let mut cache = tcx.inhabitedness_cache.borrow_mut();
                cache.insert(global_ty, forest.clone());
                forest
            },
            None => {
                let forest = self.uninhabited_from_inner(visited, tcx);
                forest
            },
        }
    }
/// Calculate the forest of DefIds from which this type is visibly uninhabited.
Calculate the forest of DefIds from which this type is visibly uninhabited.
Calculate the forest of DefIds from which this type is visibly uninhabited .
pub fn uninhabited_from(
                &self,
                visited: &mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>,
                tcx: TyCtxt<'a, 'gcx, 'tcx>) -> DefIdForest
    {
        match tcx.lift_to_global(&self) {
            Some(global_ty) => {
                {
                    let cache = tcx.inhabitedness_cache.borrow();
                    if let Some(forest) = cache.get(&global_ty) {
                        return forest.clone();
                    }
                }
                let forest = global_ty.uninhabited_from_inner(visited, tcx);
                let mut cache = tcx.inhabitedness_cache.borrow_mut();
                cache.insert(global_ty, forest.clone());
                forest
            },
            None => {
                let forest = self.uninhabited_from_inner(visited, tcx);
                forest
            },
        }
    }
pub fn uninhabited_from ( & self , visited : & mut FxHashSet < ( DefId , & ' tcx Substs < ' tcx > ) > , tcx : TyCtxt < ' a , ' gcx , ' tcx > ) -> DefIdForest { match tcx . lift_to_global ( & self ) { Some ( global_ty ) => { { let cache = tcx . inhabitedness_cache . borrow ( ) ; if let Some ( forest ) = cache . get ( & global_ty ) { return forest . clone ( ) ; } } let forest = global_ty . uninhabited_from_inner ( visited , tcx ) ; let mut cache = tcx . inhabitedness_cache . borrow_mut ( ) ; cache . insert ( global_ty , forest . clone ( ) ) ; forest } , None => { let forest = self . uninhabited_from_inner ( visited , tcx ) ; forest } , } }
Calculate the forest of DefIds from which this type is visibly uninhabited.
Calculate the forest of DefIds from which this type is visibly uninhabited .
&self
visited
&mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>
tcx
TyCtxt<'a, 'gcx, 'tcx>
&self
visited
&mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>
tcx
TyCtxt<'a, 'gcx, 'tcx>