Struct rustc_trait_selection::traits::specialization_graph::Children[−][src]

pub struct Children {
    pub nonblanket_impls: HashMap<SimplifiedTypeGen<DefId>, Vec<DefId, Global>, BuildHasherDefault<FxHasher>>,
    pub blanket_impls: Vec<DefId, Global>,
}
Expand description

Children of a given impl, grouped into blanket/non-blanket varieties as is done in TraitDef.

Fields

nonblanket_impls: HashMap<SimplifiedTypeGen<DefId>, Vec<DefId, Global>, BuildHasherDefault<FxHasher>>
Expand description

Impls of the trait.

blanket_impls: Vec<DefId, Global>
Expand description

Blanket impls associated with the trait.

Trait Implementations

impl ChildrenExt for Children[src]

fn insert_blindly<'tcx>(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)[src]

Insert an impl into this set of children without comparing to any existing impls.

fn remove_existing<'tcx>(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)[src]

Removes an impl from this set of children. Used when replacing an impl with a parent. The impl must be present in the list of children already.

fn insert<'tcx>(
    &mut self,
    tcx: TyCtxt<'tcx>,
    impl_def_id: DefId,
    simplified_self: Option<SimplifiedType>
) -> Result<Inserted, OverlapError>
[src]

Attempt to insert an impl into this set of children, while comparing for specialization relationships.

Auto Trait Implementations

impl RefUnwindSafe for Children

impl Send for Children

impl Sync for Children

impl Unpin for Children

impl UnwindSafe for Children

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]