trait Mode: Sized {
    const NAME: &'static str;

    // Required methods
    fn projection(
        analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>,
        env: &mut Env,
        place: &Place,
    ) -> QueryResult;
    fn goto_join_point(
        analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>,
        target: BasicBlock,
        env: Env,
    ) -> QueryResult<bool>;
    fn ret(analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>, env: &Env);
}

Required Associated Constants§

Source

const NAME: &'static str

Required Methods§

Source

fn projection( analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>, env: &mut Env, place: &Place, ) -> QueryResult

Source

fn goto_join_point( analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>, target: BasicBlock, env: Env, ) -> QueryResult<bool>

Source

fn ret(analysis: &mut FoldUnfoldAnalysis<'_, '_, '_, Self>, env: &Env)

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.

Implementors§

Source§

impl Mode for Elaboration<'_>

Source§

const NAME: &'static str = "elaboration"

Source§

impl Mode for Infer

Source§

const NAME: &'static str = "infer"