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.