pub fn create_envs(defs: &ast::Defs) -> Result<(TypeEnv, TermEnv)> {
    let mut typeenv = sema::TypeEnv::from_ast(defs)?;
    // We want to allow annotations on terms with internal extractors,
    // so we avoid expanding them within the sema rules.
    let termenv = sema::TermEnv::from_ast(
        &mut typeenv,
        defs,
        /* expand_internal_extractors */ false,
    )?;
    Ok((typeenv, termenv))
}
/// Construct the ISLE type and term environments for further analysis
/// (i.e., verification), without going all the way through codegen.
Construct the ISLE type and term environments for further analysis
, without going all the way through codegen.
Construct the ISLE type and term environments for further analysis without going all the way through codegen .
pub fn create_envs(defs: &ast::Defs) -> Result<(TypeEnv, TermEnv)> {
    let mut typeenv = sema::TypeEnv::from_ast(defs)?;
    // We want to allow annotations on terms with internal extractors,
    // so we avoid expanding them within the sema rules.
    let termenv = sema::TermEnv::from_ast(
        &mut typeenv,
        defs,
        /* expand_internal_extractors */ false,
    )?;
    Ok((typeenv, termenv))
}
pub fn create_envs ( defs : & ast :: Defs ) -> Result < ( TypeEnv , TermEnv ) > { let mut typeenv = sema :: TypeEnv :: from_ast ( defs ) ? ; // We want to allow annotations on terms with internal extractors, // so we avoid expanding them within the sema rules. let termenv = sema :: TermEnv :: from_ast ( & mut typeenv , defs , /* expand_internal_extractors */ false , ) ? ; Ok ( ( typeenv , termenv ) ) }
Construct the ISLE type and term environments for further analysis
(i.e., verification), without going all the way through codegen.
Construct the ISLE type and term environments for further analysis ( i . e . verification ) without going all the way through codegen .
defs
&ast::Defs
defs
&ast::Defs