Skip to main content

Mode

Trait Mode 

Source
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§

Source

const NAME: &str

Required Methods§

Source

fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, Self>, infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>

Source

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>

Source

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".

Implementors§

Source§

impl Mode for RefineMode

Source§

const NAME: &str = "refine"

Source§

impl Mode for ShapeMode

Source§

const NAME: &str = "shape"