trait ChildrenExt<'tcx> {
// Required methods
fn insert_blindly(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId);
fn remove_existing(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId);
fn insert(
&mut self,
tcx: TyCtxt<'tcx>,
impl_def_id: DefId,
simplified_self: Option<SimplifiedType>,
overlap_mode: OverlapMode,
) -> Result<Inserted<'tcx>, OverlapError<'tcx>>;
}
Required Methods§
sourcefn insert_blindly(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)
fn insert_blindly(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)
Insert an impl into this set of children without comparing to any existing impls.
sourcefn remove_existing(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)
fn remove_existing(&mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId)
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.
sourcefn insert(
&mut self,
tcx: TyCtxt<'tcx>,
impl_def_id: DefId,
simplified_self: Option<SimplifiedType>,
overlap_mode: OverlapMode,
) -> Result<Inserted<'tcx>, OverlapError<'tcx>>
fn insert( &mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId, simplified_self: Option<SimplifiedType>, overlap_mode: OverlapMode, ) -> Result<Inserted<'tcx>, OverlapError<'tcx>>
Attempt to insert an impl into this set of children, while comparing for specialization relationships.