github.com/solo-io/cue@v0.4.7/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 --
    33  (struct){
    34    #T: (#struct){
    35      config: (_){ _ }
    36      body: (_){ _ }
    37      mas: (#struct){
    38      }
    39    }
    40    #a: (#struct){
    41      config: (#struct){
    42        a: (int){ int }
    43      }
    44      body: (int){ int }
    45      mas: (#struct){
    46        one: (#struct){
    47          cfg: (#struct){
    48            b: (int){ int }
    49          }
    50          _link: (#struct){
    51            config: (#struct){
    52              b: (int){ int }
    53            }
    54            body: (int){ int }
    55            mas: (#struct){
    56              two: (#struct){
    57                cfg: (#struct){
    58                  c: (int){ int }
    59                }
    60                _link: (#struct){
    61                  config: (#struct){
    62                    c: (int){ int }
    63                  }
    64                  body: (int){ int }
    65                  mas: (#struct){
    66                  }
    67                }
    68                link: (#struct){
    69                  config: (#struct){
    70                    c: (int){ int }
    71                  }
    72                  body: (int){ int }
    73                  mas: (#struct){
    74                  }
    75                }
    76              }
    77            }
    78          }
    79          link: (#struct){
    80            config: (#struct){
    81              b: (int){ int }
    82            }
    83            body: (int){ int }
    84            mas: (#struct){
    85              two: (#struct){
    86                cfg: (#struct){
    87                  c: (int){ int }
    88                }
    89                _link: (#struct){
    90                  config: (#struct){
    91                    c: (int){ int }
    92                  }
    93                  body: (int){ int }
    94                  mas: (#struct){
    95                  }
    96                }
    97                link: (#struct){
    98                  config: (#struct){
    99                    c: (int){ int }
   100                  }
   101                  body: (int){ int }
   102                  mas: (#struct){
   103                  }
   104                }
   105              }
   106            }
   107          }
   108        }
   109      }
   110    }
   111    a: (#struct){
   112      config: (#struct){
   113        a: (int){ 34 }
   114      }
   115      body: (int){ 34 }
   116      mas: (#struct){
   117        one: (#struct){
   118          cfg: (#struct){
   119            b: (int){ 34 }
   120          }
   121          _link: (#struct){
   122            config: (#struct){
   123              b: (int){ int }
   124            }
   125            body: (int){ int }
   126            mas: (#struct){
   127              two: (#struct){
   128                cfg: (#struct){
   129                  c: (int){ int }
   130                }
   131                _link: (#struct){
   132                  config: (#struct){
   133                    c: (int){ int }
   134                  }
   135                  body: (int){ int }
   136                  mas: (#struct){
   137                  }
   138                }
   139                link: (#struct){
   140                  config: (#struct){
   141                    c: (int){ int }
   142                  }
   143                  body: (int){ int }
   144                  mas: (#struct){
   145                  }
   146                }
   147              }
   148            }
   149          }
   150          link: (#struct){
   151            config: (#struct){
   152              b: (int){ 34 }
   153            }
   154            body: (int){ 34 }
   155            mas: (#struct){
   156              two: (#struct){
   157                cfg: (#struct){
   158                  c: (int){ 34 }
   159                }
   160                _link: (#struct){
   161                  config: (#struct){
   162                    c: (int){ int }
   163                  }
   164                  body: (int){ int }
   165                  mas: (#struct){
   166                  }
   167                }
   168                link: (#struct){
   169                  config: (#struct){
   170                    c: (int){ 34 }
   171                  }
   172                  body: (int){ 34 }
   173                  mas: (#struct){
   174                  }
   175                }
   176              }
   177            }
   178          }
   179        }
   180      }
   181    }
   182  }
   183  -- out/compile --
   184  --- in.cue
   185  {
   186    #T: {
   187      config: _
   188      body: _
   189      mas: {
   190        [string]: {
   191          cfg: _
   192          _link: 〈3;#T〉
   193          link: (〈0;_link〉 & {
   194            config: 〈1;cfg〉
   195          })
   196        }
   197      }
   198    }
   199    #a: (〈0;#T〉 & {
   200      config: {
   201        a: int
   202      }
   203      body: 〈0;config〉.a
   204      mas: {
   205        one: {
   206          cfg: {
   207            b: 〈3;config〉.a
   208          }
   209          _link: {
   210            config: {
   211              b: int
   212            }
   213            body: 〈0;config〉.b
   214            mas: {
   215              two: {
   216                cfg: {
   217                  c: 〈3;config〉.b
   218                }
   219                _link: {
   220                  config: {
   221                    c: int
   222                  }
   223                  body: 〈0;config〉.c
   224                }
   225              }
   226            }
   227          }
   228        }
   229      }
   230    })
   231    a: (〈0;#a〉 & {
   232      config: {
   233        a: 34
   234      }
   235    })
   236  }