...

Text file src/cuelang.org/go/cue/testdata/cycle/issue502.txtar

Documentation: cuelang.org/go/cue/testdata/cycle

     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
    31a: #a & {config: a: 34}
    32-- out/eval/stats --
    33Leaks:  0
    34Freed:  93
    35Reused: 83
    36Allocs: 10
    37Retain: 0
    38
    39Unifications: 93
    40Conjuncts:    264
    41Disjuncts:    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}

View as plain text