From 512346ba0b85c89fc0d16558962c3a946a8c98c3 Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Tue, 14 Nov 2023 10:22:47 -0800 Subject: refactor(tvix/eval): add ThunkRepr::is_forced() Change-Id: I4eab5c81fb82337da06327248845cd2f3a4490d3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10038 Reviewed-by: tazjin Tested-by: BuildkiteCI Autosubmit: Adam Joseph --- tvix/eval/src/value/thunk.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tvix/eval/src/value') diff --git a/tvix/eval/src/value/thunk.rs b/tvix/eval/src/value/thunk.rs index 1ff5beb0d4..2853a398de 100644 --- a/tvix/eval/src/value/thunk.rs +++ b/tvix/eval/src/value/thunk.rs @@ -114,6 +114,14 @@ impl ThunkRepr { } } } + + pub fn is_forced(&self) -> bool { + match self { + ThunkRepr::Evaluated(Value::Thunk(_)) => false, + ThunkRepr::Evaluated(_) => true, + _ => false, + } + } } /// A thunk is created for any value which requires non-strict @@ -279,11 +287,7 @@ impl Thunk { /// Returns true if forcing this thunk will not change it. pub fn is_forced(&self) -> bool { - match *self.0.borrow() { - ThunkRepr::Evaluated(Value::Thunk(_)) => false, - ThunkRepr::Evaluated(_) => true, - _ => false, - } + self.0.borrow().is_forced() } /// Returns a reference to the inner evaluated value of a thunk. -- cgit 1.4.1