/// Create a fresh meta and return the meta applied to all of the currently
/// bound vars.
Create a fresh meta and return the meta applied to all of the currently
bound vars.
Create a fresh meta and return the meta applied to all of the currently bound vars .
pub fn new_meta(
        &self,
        metas: &mut meta::Env,
        span: FileSpan,
        ty: Rc<domain::Type>,
    ) -> Rc<syntax::Term> {
        let args = self.bound_levels.iter().map(|var_level| {
            let var_index = self.values().size().index(*var_level);
            Rc::from(syntax::Term::var(var_index))
        });
        args.fold(
            Rc::from(syntax::Term::Meta(metas.add_unsolved(span, ty))),
            |acc, arg| Rc::from(syntax::Term::FunElim(acc, AppMode::Explicit, arg)),
        )
    }
pub fn new_meta ( & self , metas : & mut meta :: Env , span : FileSpan , ty : Rc < domain :: Type > , ) -> Rc < syntax :: Term > { let args = self . bound_levels . iter ( ) . map ( | var_level | { let var_index = self . values ( ) . size ( ) . index ( * var_level ) ; Rc :: from ( syntax :: Term :: var ( var_index ) ) } ) ; args . fold ( Rc :: from ( syntax :: Term :: Meta ( metas . add_unsolved ( span , ty ) ) ) , | acc , arg | Rc :: from ( syntax :: Term :: FunElim ( acc , AppMode :: Explicit , arg ) ) , ) }
Create a fresh meta and return the meta applied to all of the currently
bound vars.
Create a fresh meta and return the meta applied to all of the currently bound vars .
&self
metas
&mut meta::Env
span
FileSpan
ty
Rc<domain::Type>