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§

Source

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.

Source

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.

Implementors§

Source§

impl<'tcx> GraphExt<'tcx> for Graph