diff options
Diffstat (limited to 'tvix/eval/src/vm.rs')
-rw-r--r-- | tvix/eval/src/vm.rs | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index c67e9f6d8899..8c45ee7363e1 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -10,6 +10,7 @@ use crate::{ nix_search_path::NixSearchPath, observer::RuntimeObserver, opcode::{CodeIdx, Count, JumpOffset, OpCode, StackIdx, UpvalueIdx}, + unwrap_or_clone_rc, upvalues::Upvalues, value::{Builtin, Closure, CoercionKind, Lambda, NixAttrs, NixList, Thunk, Value}, warnings::{EvalWarning, WarningKind}, @@ -884,12 +885,6 @@ impl<'o> VM<'o> { } } -// TODO: use Rc::unwrap_or_clone once it is stabilised. -// https://doc.rust-lang.org/std/rc/struct.Rc.html#method.unwrap_or_clone -fn unwrap_or_clone_rc<T: Clone>(rc: Rc<T>) -> T { - Rc::try_unwrap(rc).unwrap_or_else(|rc| (*rc).clone()) -} - pub fn run_lambda( nix_search_path: NixSearchPath, observer: &mut dyn RuntimeObserver, |