Removed clone

pull/1/head
ondra05 2021-12-14 23:05:21 +01:00
parent 3a6cc2b461
commit fe1f20a925
1 changed files with 9 additions and 7 deletions

View File

@ -408,19 +408,21 @@ impl ExecEnv {
}
Functio::Chain { functios, kind } => {
let (left_functio, right_functio) = *functios;
let (left_args, right_args) = match kind {
match kind {
crate::variables::FunctioChainKind::Equal => {
let (l, r) = args.split_at(args.len() / 2);
// TODO: avoid this clone
(l.to_owned(), r.to_owned())
self.fn_call_with_values(left_functio, l, span)?;
self.fn_call_with_values(right_functio, r, span)?;
}
crate::variables::FunctioChainKind::ByArity => {
Self::deinterlace(args, (left_functio.arity(), right_functio.arity()))
let (l, r) =
Self::deinterlace(args, (left_functio.arity(), right_functio.arity()));
self.fn_call_with_values(left_functio, &l, span)?;
self.fn_call_with_values(right_functio, &r, span)?;
}
};
self.fn_call_with_values(left_functio, &left_args, span)?;
self.fn_call_with_values(right_functio, &right_args, span)?;
}
Functio::Eval(code) => {
if !args.is_empty() {