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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".