summaryrefslogtreecommitdiff
path: root/src/eval/array.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-05-09 00:03:57 +0200
committerLaurenz <laurmaedje@gmail.com>2022-05-09 00:03:57 +0200
commit1927cc86dae1df300b3472c52f1777baf637dc6f (patch)
treefb156dd4c1a73d2f6880d10e53dd4f1b911fbd95 /src/eval/array.rs
parentbfaf5447a789cd0dbbb1e418bea62fef9edc2b7d (diff)
Set, show, wrap in code blocks
Diffstat (limited to 'src/eval/array.rs')
-rw-r--r--src/eval/array.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/eval/array.rs b/src/eval/array.rs
index 9abab8cf..86347106 100644
--- a/src/eval/array.rs
+++ b/src/eval/array.rs
@@ -3,7 +3,7 @@ use std::fmt::{self, Debug, Formatter, Write};
use std::ops::{Add, AddAssign};
use std::sync::Arc;
-use super::{Args, Func, Value};
+use super::{ops, Args, Func, Value};
use crate::diag::{At, StrResult, TypResult};
use crate::syntax::Spanned;
use crate::util::ArcExt;
@@ -171,18 +171,14 @@ impl Array {
let mut result = Value::None;
for (i, value) in self.iter().cloned().enumerate() {
if i > 0 {
- if i + 1 == len {
- if let Some(last) = last.take() {
- result = result.join(last)?;
- } else {
- result = result.join(sep.clone())?;
- }
+ if i + 1 == len && last.is_some() {
+ result = ops::join(result, last.take().unwrap())?;
} else {
- result = result.join(sep.clone())?;
+ result = ops::join(result, sep.clone())?;
}
}
- result = result.join(value)?;
+ result = ops::join(result, value)?;
}
Ok(result)