pub fn shadow_for_type_parameters<'a, I: IntoIterator<Item = &'a Name>>(
        &mut self,
        tparams: I,
    ) -> OldAliasMap
    where
        I::IntoIter: ExactSizeIterator,
    {
        let tparams_iter = tparams.into_iter();
        if tparams_iter.len() == 0 {
            return OldAliasMap(None);
        }

        let outer_scope = OldAliasMap(Some(self.clone()));
        self.unused.push(AliasSet::new());
        for tp_name in tparams_iter {
            self.members.remove(tp_name);
        }
        outer_scope
    }
/// Similar to add_and_shadow but just removes aliases now shadowed by a type parameter
Similar to add_and_shadow but just removes aliases now shadowed by a type parameter
Similar to add_and_shadow but just removes aliases now shadowed by a type parameter
pub fn shadow_for_type_parameters<'a, I: IntoIterator<Item = &'a Name>>(
        &mut self,
        tparams: I,
    ) -> OldAliasMap
    where
        I::IntoIter: ExactSizeIterator,
    {
        let tparams_iter = tparams.into_iter();
        if tparams_iter.len() == 0 {
            return OldAliasMap(None);
        }
        let outer_scope = OldAliasMap(Some(self.clone()));
        self.unused.push(AliasSet::new());
        for tp_name in tparams_iter {
            self.members.remove(tp_name);
        }
        outer_scope
    }
pub fn shadow_for_type_parameters < ' a , I : IntoIterator < Item = & ' a Name > > ( & mut self , tparams : I , ) -> OldAliasMap where I :: IntoIter : ExactSizeIterator , { let tparams_iter = tparams . into_iter ( ) ; if tparams_iter . len ( ) == 0 { return OldAliasMap ( None ) ; } let outer_scope = OldAliasMap ( Some ( self . clone ( ) ) ) ; self . unused . push ( AliasSet :: new ( ) ) ; for tp_name in tparams_iter { self . members . remove ( tp_name ) ; } outer_scope }
Similar to add_and_shadow but just removes aliases now shadowed by a type parameter
Similar to add_and_shadow but just removes aliases now shadowed by a type parameter
&mut self
tparams
I