From 98ea614c6e9ea9428dc10dde630abf894bd01473 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 2 Feb 2023 01:46:58 +0300 Subject: chore(tvix/eval): elaborate on internal types in Value::type_of This aids in debugging quite substantially. Change-Id: Ic43232aa6165ae1c3db7ac2701938e1dfeeb418c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8013 Tested-by: BuildkiteCI Reviewed-by: flokli Autosubmit: tazjin --- tvix/eval/src/value/mod.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tvix/eval/src/value/mod.rs b/tvix/eval/src/value/mod.rs index 0f515109f5..e1afe328dd 100644 --- a/tvix/eval/src/value/mod.rs +++ b/tvix/eval/src/value/mod.rs @@ -319,12 +319,14 @@ impl Value { Value::List(_) => "list", Value::Closure(_) | Value::Builtin(_) => "lambda", - // Internal types - Value::Thunk(_) - | Value::AttrNotFound - | Value::Blueprint(_) - | Value::DeferredUpvalue(_) - | Value::UnresolvedPath(_) => "internal", + // Internal types. Note: These are only elaborated here + // because it makes debugging easier. If a user ever sees + // any of these strings, it's a bug. + Value::Thunk(_) => "internal[thunk]", + Value::AttrNotFound => "internal[attr_not_found]", + Value::Blueprint(_) => "internal[blueprint]", + Value::DeferredUpvalue(_) => "internal[deferred_upvalue]", + Value::UnresolvedPath(_) => "internal[unresolved_path]", } } -- cgit 1.4.1