aboutsummaryrefslogtreecommitdiff
path: root/lib/debug.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/debug.nix')
-rw-r--r--lib/debug.nix24
1 files changed, 3 insertions, 21 deletions
diff --git a/lib/debug.nix b/lib/debug.nix
index 38612d630b3..e2e895ab620 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -73,27 +73,9 @@ rec {
# usage: { testX = allTrue [ true ]; }
testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
- # evaluate everything once so that errors will occur earlier
- # hacky: traverse attrs by adding a dummy
- # ignores functions (should this behavior change?) See strictf
- #
- # Note: This should be a primop! Something like seq of haskell would be nice to
- # have as well. It's used fore debugging only anyway
- strict = x :
- let
- traverse = x :
- if isString x then true
- else if isAttrs x then
- if x ? outPath then true
- else all id (mapAttrsFlatten (n: traverse) x)
- else if isList x then
- all id (map traverse x)
- else if isBool x then true
- else if isFunction x then true
- else if isInt x then true
- else if x == null then true
- else true; # a (store) path?
- in if traverse x then x else throw "else never reached";
+ strict = v:
+ trace "Warning: strict is deprecated and will be removed in the next release"
+ (builtins.seq v v);
# example: (traceCallXml "myfun" id 3) will output something like
# calling myfun arg 1: 3 result: 3