diff --git a/src/interpreter/functions.rs b/src/interpreter/functions.rs index 5b0a881..939a971 100644 --- a/src/interpreter/functions.rs +++ b/src/interpreter/functions.rs @@ -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(¶m_env);