/// Add a fresh parameter the context, returning a variable that points to
/// the introduced binder.
Add a fresh parameter the context, returning a variable that points to
the introduced binder.
Add a fresh parameter the context returning a variable that points to the introduced binder .
pub fn add_fresh_param(&mut self, ty: Rc<domain::Type>) -> Rc<domain::Value> {
        log::trace!("add fresh parameter");
        let var_level = self.values.size().next_level();
        let value = Rc::from(domain::Value::var(var_level));
        self.values.add_entry(value.clone());
        self.tys.add_entry(ty);
        self.bound_levels.push_back(var_level);
        value
    }
pub fn add_fresh_param ( & mut self , ty : Rc < domain :: Type > ) -> Rc < domain :: Value > { log :: trace ! ( " " ) ; let var_level = self . values . size ( ) . next_level ( ) ; let value = Rc :: from ( domain :: Value :: var ( var_level ) ) ; self . values . add_entry ( value . clone ( ) ) ; self . tys . add_entry ( ty ) ; self . bound_levels . push_back ( var_level ) ; value }
Add a fresh parameter the context, returning a variable that points to
the introduced binder.
Add a fresh parameter the context returning a variable that points to the introduced binder .
&mut self
ty
Rc<domain::Type>