diff options
Diffstat (limited to 'tvix/eval/src/vm.rs')
-rw-r--r-- | tvix/eval/src/vm.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index c55bc81777f1..d85f31a3cb02 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -444,8 +444,9 @@ impl VM { OpCode::OpForce => { let mut value = self.pop(); - while let Value::Thunk(thunk) = value { - value = thunk.force(self)?.clone(); + if let Value::Thunk(thunk) = value { + thunk.force(self)?; + value = thunk.value().clone(); } self.push(value); |