Interpreter - Handle errors for multiple definitions of an argument

This commit is contained in:
Emmanuel BENOîT 2023-01-02 20:08:05 +01:00
parent 7b20ec2f3a
commit cf3284cd88

View file

@ -47,7 +47,8 @@ impl Callable for Function {
assert_eq!(arguments.len(), self.arity());
let param_env = Environment::create_child(environment);
for (arg, value) in izip!(self.params.iter(), arguments.into_iter()) {
param_env.borrow_mut().define(&arg, Some(value));
// FIXME: duplicate parameter names should be detected in the parser
param_env.borrow_mut().define(&arg, Some(value))?;
}
let child = Environment::create_child(&param_env);