1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
error:
       … from call site
         at /pwd/in.nix:4:11:
            3|   b = { ${lenName a} = null; };
            4|   a = { ${lenName b} = null; };
             |           ^
            5|

       … while calling 'lenName'
         at /pwd/in.nix:2:13:
            1| let
            2|   lenName = x: toString (builtins.length (builtins.attrNames x));
             |             ^
            3|   b = { ${lenName a} = null; };

       … while calling the 'toString' builtin
         at /pwd/in.nix:2:16:
            1| let
            2|   lenName = x: toString (builtins.length (builtins.attrNames x));
             |                ^
            3|   b = { ${lenName a} = null; };

       … while calling the 'length' builtin
         at /pwd/in.nix:2:26:
            1| let
            2|   lenName = x: toString (builtins.length (builtins.attrNames x));
             |                          ^
            3|   b = { ${lenName a} = null; };

       … while evaluating the first argument passed to builtins.length

       … while calling the 'attrNames' builtin
         at /pwd/in.nix:2:43:
            1| let
            2|   lenName = x: toString (builtins.length (builtins.attrNames x));
             |                                           ^
            3|   b = { ${lenName a} = null; };

       … while evaluating the argument passed to builtins.attrNames

       … from call site
         at /pwd/in.nix:3:11:
            2|   lenName = x: toString (builtins.length (builtins.attrNames x));
            3|   b = { ${lenName a} = null; };
             |           ^
            4|   a = { ${lenName b} = null; };

       (6 duplicate frames omitted)

       error: infinite recursion encountered