pub(crate) trait Mode: Sized {
    const NAME: &str;
    // Required methods
    fn enter_basic_block<'ck, 'genv, 'tcx>(
        ck: &mut Checker<'ck, 'genv, 'tcx, Self>,
        infcx: &mut InferCtxt<'_, 'genv, 'tcx>,
        bb: BasicBlock,
    ) -> TypeEnv<'ck>;
    fn check_goto_join_point<'genv, 'tcx>(
        ck: &mut Checker<'_, 'genv, 'tcx, Self>,
        infcx: InferCtxt<'_, 'genv, 'tcx>,
        env: TypeEnv<'_>,
        terminator_span: Span,
        target: BasicBlock,
    ) -> Result<bool, CheckerError>;
    fn clear(ck: &mut Checker<'_, '_, '_, Self>, bb: BasicBlock);
}Required Associated Constants§
Required Methods§
fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, Self>, infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>
fn check_goto_join_point<'genv, 'tcx>( ck: &mut Checker<'_, 'genv, 'tcx, Self>, infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock, ) -> Result<bool, CheckerError>
fn clear(ck: &mut Checker<'_, '_, '_, Self>, bb: BasicBlock)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.