summaryrefslogtreecommitdiff
path: root/src/eval/mod.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-03-17 18:51:42 +0100
committerLaurenz <laurmaedje@gmail.com>2023-03-17 18:51:42 +0100
commit9315e2f08ea20d021bf7a34c1aa9453499d063f7 (patch)
tree7970f1bff307e530c606c6a042954d24b5579d5f /src/eval/mod.rs
parent59903270dc5a21c65df8a4d88068662287918b4c (diff)
Make parameters traceable
Diffstat (limited to 'src/eval/mod.rs')
-rw-r--r--src/eval/mod.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs
index a7f4b825..e6da6cba 100644
--- a/src/eval/mod.rs
+++ b/src/eval/mod.rs
@@ -1140,7 +1140,7 @@ impl Eval for ast::Closure {
fn eval(&self, vm: &mut Vm) -> SourceResult<Self::Output> {
// The closure's name is defined by its let binding if there's one.
- let name = self.name().map(ast::Ident::take);
+ let name = self.name();
// Collect captured variables.
let captured = {
@@ -1156,16 +1156,16 @@ impl Eval for ast::Closure {
for param in self.params() {
match param {
ast::Param::Pos(name) => {
- params.push((name.take(), None));
+ params.push((name, None));
}
ast::Param::Named(named) => {
- params.push((named.name().take(), Some(named.expr().eval(vm)?)));
+ params.push((named.name(), Some(named.expr().eval(vm)?)));
}
ast::Param::Sink(name) => {
if sink.is_some() {
bail!(name.span(), "only one argument sink is allowed");
}
- sink = Some(name.take());
+ sink = Some(name);
}
}
}