pub trait GraphExt<'tcx> {
// Required methods
fn insert(
&mut self,
tcx: TyCtxt<'tcx>,
impl_def_id: DefId,
overlap_mode: OverlapMode
) -> Result<Option<FutureCompatOverlapError<'tcx>>, OverlapError<'tcx>>;
fn record_impl_from_cstore(
&mut self,
tcx: TyCtxt<'tcx>,
parent: DefId,
child: DefId
);
}
Required Methods§
sourcefn insert(
&mut self,
tcx: TyCtxt<'tcx>,
impl_def_id: DefId,
overlap_mode: OverlapMode
) -> Result<Option<FutureCompatOverlapError<'tcx>>, OverlapError<'tcx>>
fn insert( &mut self, tcx: TyCtxt<'tcx>, impl_def_id: DefId, overlap_mode: OverlapMode ) -> Result<Option<FutureCompatOverlapError<'tcx>>, OverlapError<'tcx>>
Insert a local impl into the specialization graph. If an existing impl
conflicts with it (has overlap, but neither specializes the other),
information about the area of overlap is returned in the Err
.
sourcefn record_impl_from_cstore(
&mut self,
tcx: TyCtxt<'tcx>,
parent: DefId,
child: DefId
)
fn record_impl_from_cstore( &mut self, tcx: TyCtxt<'tcx>, parent: DefId, child: DefId )
Insert cached metadata mapping from a child impl back to its parent.