Trait rustc_trait_selection::traits::specialize::specialization_graph::ChildrenExt[−][src]

trait ChildrenExt {
    fn insert_blindly<'tcx>(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId);
fn remove_existing<'tcx>(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId);
fn insert<'tcx>(
        &mut self,
        tcx: TyCtxt<'tcx>,
        impl_def_id: DefId,
        simplified_self: Option<SimplifiedType>
    ) -> Result<Inserted, OverlapError>; }

Required methods

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

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

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

Loading content...

Implementors

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.

Loading content...