/// Add a parameter the context, returning a variable that points to
/// the introduced binder.
Add a parameter the context, returning a variable that points to
the introduced binder.
Add a parameter the context returning a variable that points to the introduced binder .
pub fn add_param(
        &mut self,
        name: impl Into<String>,
        ty: Rc<domain::Type>,
    ) -> Rc<domain::Value> {
        let name = name.into();
        log::trace!("add parameter: {}", name);
        let var_level = self.values.size().next_level();
        self.add_name(name, var_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_param ( & mut self , name : impl Into < String > , ty : Rc < domain :: Type > , ) -> Rc < domain :: Value > { let name = name . into ( ) ; log :: trace ! ( " " name ) ; let var_level = self . values . size ( ) . next_level ( ) ; self . add_name ( name , var_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 parameter the context, returning a variable that points to
the introduced binder.
Add a parameter the context returning a variable that points to the introduced binder .
&mut self
name
impl Into<String>
ty
Rc<domain::Type>