cuelang.org/go@v0.10.1/cue/testdata/cycle/issue502.txtar (about)

     1  -- in.cue --
     2  #T: {
     3  	config: _
     4  	body:   _
     5  	mas: [string]: {
     6  		cfg:   _
     7  		_link: #T
     8  		link:  _link & {config: cfg}
     9  	}
    10  }
    11  
    12  #a: #T & {
    13  	config: a: int
    14  	body: config.a
    15  	mas: one: {
    16  		cfg: b: config.a
    17  		_link: {
    18  			config: b: int
    19  			body: config.b
    20  			mas: two: {
    21  				cfg: c: config.b
    22  				_link: {
    23  					config: c: int
    24  					body: config.c
    25  				}
    26  			}
    27  		}
    28  	}
    29  }
    30  
    31  a: #a & {config: a: 34}
    32  -- out/eval/stats --
    33  Leaks:  0
    34  Freed:  93
    35  Reused: 83
    36  Allocs: 10
    37  Retain: 0
    38  
    39  Unifications: 93
    40  Conjuncts:    264
    41  Disjuncts:    93
    42  -- out/eval --
    43  (struct){
    44    #T: (#struct){
    45      config: (_){ _ }
    46      body: (_){ _ }
    47      mas: (#struct){
    48      }
    49    }
    50    #a: (#struct){
    51      config: (#struct){
    52        a: (int){ int }
    53      }
    54      body: (int){ int }
    55      mas: (#struct){
    56        one: (#struct){
    57          cfg: (#struct){
    58            b: (int){ int }
    59          }
    60          _link: (#struct){
    61            config: (#struct){
    62              b: (int){ int }
    63            }
    64            body: (int){ int }
    65            mas: (#struct){
    66              two: (#struct){
    67                cfg: (#struct){
    68                  c: (int){ int }
    69                }
    70                _link: (#struct){
    71                  config: (#struct){
    72                    c: (int){ int }
    73                  }
    74                  body: (int){ int }
    75                  mas: (#struct){
    76                  }
    77                }
    78                link: (#struct){
    79                  config: (#struct){
    80                    c: (int){ int }
    81                  }
    82                  body: (int){ int }
    83                  mas: (#struct){
    84                  }
    85                }
    86              }
    87            }
    88          }
    89          link: (#struct){
    90            config: (#struct){
    91              b: (int){ int }
    92            }
    93            body: (int){ int }
    94            mas: (#struct){
    95              two: (#struct){
    96                cfg: (#struct){
    97                  c: (int){ int }
    98                }
    99                _link: (#struct){
   100                  config: (#struct){
   101                    c: (int){ int }
   102                  }
   103                  body: (int){ int }
   104                  mas: (#struct){
   105                  }
   106                }
   107                link: (#struct){
   108                  config: (#struct){
   109                    c: (int){ int }
   110                  }
   111                  body: (int){ int }
   112                  mas: (#struct){
   113                  }
   114                }
   115              }
   116            }
   117          }
   118        }
   119      }
   120    }
   121    a: (#struct){
   122      config: (#struct){
   123        a: (int){ 34 }
   124      }
   125      body: (int){ 34 }
   126      mas: (#struct){
   127        one: (#struct){
   128          cfg: (#struct){
   129            b: (int){ 34 }
   130          }
   131          _link: (#struct){
   132            config: (#struct){
   133              b: (int){ int }
   134            }
   135            body: (int){ int }
   136            mas: (#struct){
   137              two: (#struct){
   138                cfg: (#struct){
   139                  c: (int){ int }
   140                }
   141                _link: (#struct){
   142                  config: (#struct){
   143                    c: (int){ int }
   144                  }
   145                  body: (int){ int }
   146                  mas: (#struct){
   147                  }
   148                }
   149                link: (#struct){
   150                  config: (#struct){
   151                    c: (int){ int }
   152                  }
   153                  body: (int){ int }
   154                  mas: (#struct){
   155                  }
   156                }
   157              }
   158            }
   159          }
   160          link: (#struct){
   161            config: (#struct){
   162              b: (int){ 34 }
   163            }
   164            body: (int){ 34 }
   165            mas: (#struct){
   166              two: (#struct){
   167                cfg: (#struct){
   168                  c: (int){ 34 }
   169                }
   170                _link: (#struct){
   171                  config: (#struct){
   172                    c: (int){ int }
   173                  }
   174                  body: (int){ int }
   175                  mas: (#struct){
   176                  }
   177                }
   178                link: (#struct){
   179                  config: (#struct){
   180                    c: (int){ 34 }
   181                  }
   182                  body: (int){ 34 }
   183                  mas: (#struct){
   184                  }
   185                }
   186              }
   187            }
   188          }
   189        }
   190      }
   191    }
   192  }
   193  -- out/compile --
   194  --- in.cue
   195  {
   196    #T: {
   197      config: _
   198      body: _
   199      mas: {
   200        [string]: {
   201          cfg: _
   202          _link: 〈3;#T〉
   203          link: (〈0;_link〉 & {
   204            config: 〈1;cfg〉
   205          })
   206        }
   207      }
   208    }
   209    #a: (〈0;#T〉 & {
   210      config: {
   211        a: int
   212      }
   213      body: 〈0;config〉.a
   214      mas: {
   215        one: {
   216          cfg: {
   217            b: 〈3;config〉.a
   218          }
   219          _link: {
   220            config: {
   221              b: int
   222            }
   223            body: 〈0;config〉.b
   224            mas: {
   225              two: {
   226                cfg: {
   227                  c: 〈3;config〉.b
   228                }
   229                _link: {
   230                  config: {
   231                    c: int
   232                  }
   233                  body: 〈0;config〉.c
   234                }
   235              }
   236            }
   237          }
   238        }
   239      }
   240    })
   241    a: (〈0;#a〉 & {
   242      config: {
   243        a: 34
   244      }
   245    })
   246  }