pub fn uninhabited_from(
                &self,
                visited: &mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>,
                tcx: TyCtxt<'a, 'gcx, 'tcx>,
                substs: &'tcx Substs<'tcx>,
                adt_kind: AdtKind) -> DefIdForest
    {
        match adt_kind {
            AdtKind::Union => {
                DefIdForest::intersection(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, false)
                }))
            },
            AdtKind::Struct => {
                DefIdForest::union(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, false)
                }))
            },
            AdtKind::Enum => {
                DefIdForest::union(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, true)
                }))
            },
        }
    }
/// Calculate the forest of DefIds from which this variant is visibly uninhabited.
Calculate the forest of DefIds from which this variant is visibly uninhabited.
Calculate the forest of DefIds from which this variant is visibly uninhabited .
pub fn uninhabited_from(
                &self,
                visited: &mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>,
                tcx: TyCtxt<'a, 'gcx, 'tcx>,
                substs: &'tcx Substs<'tcx>,
                adt_kind: AdtKind) -> DefIdForest
    {
        match adt_kind {
            AdtKind::Union => {
                DefIdForest::intersection(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, false)
                }))
            },
            AdtKind::Struct => {
                DefIdForest::union(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, false)
                }))
            },
            AdtKind::Enum => {
                DefIdForest::union(tcx, self.fields.iter().map(|f| {
                    f.uninhabited_from(visited, tcx, substs, true)
                }))
            },
        }
    }
pub fn uninhabited_from ( & self , visited : & mut FxHashSet < ( DefId , & ' tcx Substs < ' tcx > ) > , tcx : TyCtxt < ' a , ' gcx , ' tcx > , substs : & ' tcx Substs < ' tcx > , adt_kind : AdtKind ) -> DefIdForest { match adt_kind { AdtKind :: Union => { DefIdForest :: intersection ( tcx , self . fields . iter ( ) . map ( | f | { f . uninhabited_from ( visited , tcx , substs , false ) } ) ) } , AdtKind :: Struct => { DefIdForest :: union ( tcx , self . fields . iter ( ) . map ( | f | { f . uninhabited_from ( visited , tcx , substs , false ) } ) ) } , AdtKind :: Enum => { DefIdForest :: union ( tcx , self . fields . iter ( ) . map ( | f | { f . uninhabited_from ( visited , tcx , substs , true ) } ) ) } , } }
Calculate the forest of DefIds from which this variant is visibly uninhabited.
Calculate the forest of DefIds from which this variant is visibly uninhabited .
&self
visited
&mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>
tcx
TyCtxt<'a, 'gcx, 'tcx>
substs
&'tcx Substs<'tcx>
adt_kind
AdtKind
&self
visited
&mut FxHashSet<(DefId, &'tcx Substs<'tcx>)>
tcx
TyCtxt<'a, 'gcx, 'tcx>
substs
&'tcx Substs<'tcx>
adt_kind
AdtKind