summaryrefslogtreecommitdiff
path: root/src/eval/array.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-10-17 14:38:48 +0200
committerLaurenz <laurmaedje@gmail.com>2021-10-23 20:23:47 +0200
commit5becb32ba463d6b0ace914ab06bb237483a94fbc (patch)
tree684efb242ddb04e71c54f9665cc59891f734e518 /src/eval/array.rs
parentc627847cb39572c08f3b53db07ea325ef0d352fa (diff)
Introduce page / block / inline levels
Diffstat (limited to 'src/eval/array.rs')
-rw-r--r--src/eval/array.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/eval/array.rs b/src/eval/array.rs
index 17192cb3..f6adee6d 100644
--- a/src/eval/array.rs
+++ b/src/eval/array.rs
@@ -7,6 +7,7 @@ use std::rc::Rc;
use super::Value;
use crate::diag::StrResult;
+use crate::util::RcExt;
/// Create a new [`Array`] from values.
#[allow(unused_macros)]
@@ -169,10 +170,7 @@ impl IntoIterator for Array {
type IntoIter = std::vec::IntoIter<Value>;
fn into_iter(self) -> Self::IntoIter {
- match Rc::try_unwrap(self.0) {
- Ok(vec) => vec.into_iter(),
- Err(rc) => (*rc).clone().into_iter(),
- }
+ Rc::take(self.0).into_iter()
}
}