diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-06-10 23:53:20 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-06-10 23:54:16 +0200 |
| commit | ed6550fdb08eae92bffab6b6b137b1e0eebf62c6 (patch) | |
| tree | 74152a38f7aa2ed2ac2fa190e81494422700ca36 /src/eval/mod.rs | |
| parent | 6aff11057bc88257c9383137952bb41b5b85c3dc (diff) | |
Bump dependencies
Diffstat (limited to 'src/eval/mod.rs')
| -rw-r--r-- | src/eval/mod.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs index d39fc3ad..b1cf9e0b 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -606,7 +606,7 @@ impl Eval for FuncCall { Value::Dict(dict) => dict.get(&args.into_key()?).at(self.span())?.clone(), Value::Func(func) => { let point = || Tracepoint::Call(func.name().map(ToString::to_string)); - func.call(vm, args).trace(point, self.span())? + func.call(vm, args).trace(vm.ctx, point, self.span())? } v => bail!( @@ -629,12 +629,13 @@ impl Eval for MethodCall { Ok(if methods::is_mutating(&method) { let args = self.args().eval(vm)?; let mut value = self.receiver().access(vm)?; - methods::call_mut(&mut value, &method, args, span).trace(point, span)?; + methods::call_mut(&mut value, &method, args, span) + .trace(vm.ctx, point, span)?; Value::None } else { let value = self.receiver().eval(vm)?; let args = self.args().eval(vm)?; - methods::call(vm, value, &method, args, span).trace(point, span)? + methods::call(vm, value, &method, args, span).trace(vm.ctx, point, span)? }) } } @@ -980,7 +981,9 @@ fn import(vm: &mut Machine, path: &str, span: Span) -> TypResult<Module> { // Evaluate the file. let route = vm.route.clone(); - let module = evaluate(vm.ctx, id, route).trace(|| Tracepoint::Import, span)?; + let module = + evaluate(vm.ctx, id, route).trace(vm.ctx, || Tracepoint::Import, span)?; + vm.deps.extend(module.deps.iter().cloned()); Ok(module) |
