Skip to main content

GraphExt

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

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