cuelang.org/go@v0.10.1/cue/testdata/basicrewrite/019_resolved_self-reference_cycles.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: resolved self-reference cycles
     4  #evalPartial
     5  -- in.cue --
     6  math: p1: {
     7  	a: b - 100
     8  	b: a + 100
     9  	b: 200
    10  }
    11  math: p2: {
    12  	a: b - 100
    13  	b: 200
    14  	b: a + 100
    15  }
    16  math: p3: {
    17  	b: a + 100
    18  	a: b - 100
    19  	b: 200
    20  }
    21  math: p4: {
    22  	b: a + 100
    23  	b: 200
    24  	a: b - 100
    25  }
    26  math: p5: {
    27  	b: 200
    28  	b: a + 100
    29  	a: b - 100
    30  }
    31  math: p6: {
    32  	b: 200
    33  	a: b - 100
    34  	b: a + 100
    35  }
    36  
    37  a: 100
    38  
    39  list: t0: c: [c[0]]
    40  
    41  list: t1: p1: c: [c[1], a]
    42  list: t1: p2: c: [a, c[0]]
    43  
    44  nodes: t1: p1: s1: s1 & {a: 1}
    45  nodes: t1: p2: s1: {a: 1} & s1
    46  nodes: t2: {
    47  	s1: s2 & {a: 1}
    48  	s2: s1 & {b: 2}
    49  }
    50  nodes: t3: {
    51  	s1: s2 & {a: 1}
    52  	s2: s3 & {b: 2}
    53  	s3: s1 & {c: 3}
    54  }
    55  
    56  -- out/def --
    57  a: 100
    58  b: 200
    59  c: [100, 100]
    60  s1: s2 & {
    61  	a: 1
    62  }
    63  s2: s3 & {
    64  	b: 2
    65  }
    66  s3: s1 & {
    67  	c: 3
    68  }
    69  -- out/export --
    70  a: 100
    71  b: 200
    72  c: [100, 100]
    73  s1: {
    74  	a: 1
    75  	b: 2
    76  	c: 3
    77  }
    78  s2: {
    79  	a: 1
    80  	b: 2
    81  	c: 3
    82  }
    83  s3: {
    84  	a: 1
    85  	b: 2
    86  	c: 3
    87  }
    88  -- out/yaml --
    89  a: 100
    90  b: 200
    91  c:
    92  - 100
    93  - 100
    94  s1:
    95    a: 1
    96    b: 2
    97    c: 3
    98  s2:
    99    a: 1
   100    b: 2
   101    c: 3
   102  s3:
   103    a: 1
   104    b: 2
   105    c: 3
   106  -- out/json --
   107  {"a":100,"b":200,"c":[100,100],"s1":{"a":1,"b":2,"c":3},"s2":{"a":1,"b":2,"c":3},"s3":{"a":1,"b":2,"c":3}}
   108  -- out/legacy-debug --
   109  <0>{a: 100, b: 200, c: [100,100], s1: <1>{a: 1, b: 2, c: 3}, s2: <2>{a: 1, b: 2, c: 3}, s3: <3>{a: 1, b: 2, c: 3}}
   110  -- out/compile --
   111  --- in.cue
   112  {
   113    math: {
   114      p1: {
   115        a: (〈0;b〉 - 100)
   116        b: (〈0;a〉 + 100)
   117        b: 200
   118      }
   119    }
   120    math: {
   121      p2: {
   122        a: (〈0;b〉 - 100)
   123        b: 200
   124        b: (〈0;a〉 + 100)
   125      }
   126    }
   127    math: {
   128      p3: {
   129        b: (〈0;a〉 + 100)
   130        a: (〈0;b〉 - 100)
   131        b: 200
   132      }
   133    }
   134    math: {
   135      p4: {
   136        b: (〈0;a〉 + 100)
   137        b: 200
   138        a: (〈0;b〉 - 100)
   139      }
   140    }
   141    math: {
   142      p5: {
   143        b: 200
   144        b: (〈0;a〉 + 100)
   145        a: (〈0;b〉 - 100)
   146      }
   147    }
   148    math: {
   149      p6: {
   150        b: 200
   151        a: (〈0;b〉 - 100)
   152        b: (〈0;a〉 + 100)
   153      }
   154    }
   155    a: 100
   156    list: {
   157      t0: {
   158        c: [
   159          〈1;c〉[0],
   160        ]
   161      }
   162    }
   163    list: {
   164      t1: {
   165        p1: {
   166          c: [
   167            〈1;c〉[1],
   168            〈4;a〉,
   169          ]
   170        }
   171      }
   172    }
   173    list: {
   174      t1: {
   175        p2: {
   176          c: [
   177            〈4;a〉,
   178            〈1;c〉[0],
   179          ]
   180        }
   181      }
   182    }
   183    nodes: {
   184      t1: {
   185        p1: {
   186          s1: (〈0;s1〉 & {
   187            a: 1
   188          })
   189        }
   190      }
   191    }
   192    nodes: {
   193      t1: {
   194        p2: {
   195          s1: ({
   196            a: 1
   197          } & 〈0;s1〉)
   198        }
   199      }
   200    }
   201    nodes: {
   202      t2: {
   203        s1: (〈0;s2〉 & {
   204          a: 1
   205        })
   206        s2: (〈0;s1〉 & {
   207          b: 2
   208        })
   209      }
   210    }
   211    nodes: {
   212      t3: {
   213        s1: (〈0;s2〉 & {
   214          a: 1
   215        })
   216        s2: (〈0;s3〉 & {
   217          b: 2
   218        })
   219        s3: (〈0;s1〉 & {
   220          c: 3
   221        })
   222      }
   223    }
   224  }
   225  -- out/eval/stats --
   226  Leaks:  0
   227  Freed:  62
   228  Reused: 55
   229  Allocs: 7
   230  Retain: 10
   231  
   232  Unifications: 62
   233  Conjuncts:    105
   234  Disjuncts:    70
   235  -- out/evalalpha --
   236  (struct){
   237    math: (struct){
   238      p1: (struct){
   239        a: (int){ 100 }
   240        b: (int){ 200 }
   241      }
   242      p2: (struct){
   243        a: (int){ 100 }
   244        b: (int){ 200 }
   245      }
   246      p3: (struct){
   247        b: (int){ 200 }
   248        a: (int){ 100 }
   249      }
   250      p4: (struct){
   251        b: (int){ 200 }
   252        a: (int){ 100 }
   253      }
   254      p5: (struct){
   255        b: (int){ 200 }
   256        a: (int){ 100 }
   257      }
   258      p6: (struct){
   259        b: (int){ 200 }
   260        a: (int){ 100 }
   261      }
   262    }
   263    a: (int){ 100 }
   264    list: (struct){
   265      t0: (struct){
   266        c: (#list){
   267          0: (_){ _ }
   268        }
   269      }
   270      t1: (struct){
   271        p1: (struct){
   272          c: (#list){
   273            0: (int){ 100 }
   274            1: (int){ 100 }
   275          }
   276        }
   277        p2: (struct){
   278          c: (#list){
   279            0: (int){ 100 }
   280            1: (int){ 100 }
   281          }
   282        }
   283      }
   284    }
   285    nodes: (struct){
   286      t1: (struct){
   287        p1: (struct){
   288          s1: (struct){
   289            a: (int){ 1 }
   290          }
   291        }
   292        p2: (struct){
   293          s1: (struct){
   294            a: (int){ 1 }
   295          }
   296        }
   297      }
   298      t2: (struct){
   299        s1: (struct){
   300          a: (int){ 1 }
   301          b: (int){ 2 }
   302        }
   303        s2: (struct){
   304          b: (int){ 2 }
   305          a: (int){ 1 }
   306        }
   307      }
   308      t3: (struct){
   309        s1: (struct){
   310          a: (int){ 1 }
   311          b: (int){ 2 }
   312          c: (int){ 3 }
   313        }
   314        s2: (struct){
   315          b: (int){ 2 }
   316          c: (int){ 3 }
   317          a: (int){ 1 }
   318        }
   319        s3: (struct){
   320          c: (int){ 3 }
   321          a: (int){ 1 }
   322          b: (int){ 2 }
   323        }
   324      }
   325    }
   326  }
   327  -- diff/-out/evalalpha<==>+out/eval --
   328  diff old new
   329  --- old
   330  +++ new
   331  @@ -73,18 +73,18 @@
   332       t3: (struct){
   333         s1: (struct){
   334           a: (int){ 1 }
   335  -        c: (int){ 3 }
   336  -        b: (int){ 2 }
   337  -      }
   338  -      s2: (struct){
   339  -        b: (int){ 2 }
   340  -        a: (int){ 1 }
   341  -        c: (int){ 3 }
   342  +        b: (int){ 2 }
   343  +        c: (int){ 3 }
   344  +      }
   345  +      s2: (struct){
   346  +        b: (int){ 2 }
   347  +        c: (int){ 3 }
   348  +        a: (int){ 1 }
   349         }
   350         s3: (struct){
   351           c: (int){ 3 }
   352  -        b: (int){ 2 }
   353  -        a: (int){ 1 }
   354  +        a: (int){ 1 }
   355  +        b: (int){ 2 }
   356         }
   357       }
   358     }
   359  -- diff/explanation --
   360  Reordering.
   361  -- out/eval --
   362  (struct){
   363    math: (struct){
   364      p1: (struct){
   365        a: (int){ 100 }
   366        b: (int){ 200 }
   367      }
   368      p2: (struct){
   369        a: (int){ 100 }
   370        b: (int){ 200 }
   371      }
   372      p3: (struct){
   373        b: (int){ 200 }
   374        a: (int){ 100 }
   375      }
   376      p4: (struct){
   377        b: (int){ 200 }
   378        a: (int){ 100 }
   379      }
   380      p5: (struct){
   381        b: (int){ 200 }
   382        a: (int){ 100 }
   383      }
   384      p6: (struct){
   385        b: (int){ 200 }
   386        a: (int){ 100 }
   387      }
   388    }
   389    a: (int){ 100 }
   390    list: (struct){
   391      t0: (struct){
   392        c: (#list){
   393          0: (_){ _ }
   394        }
   395      }
   396      t1: (struct){
   397        p1: (struct){
   398          c: (#list){
   399            0: (int){ 100 }
   400            1: (int){ 100 }
   401          }
   402        }
   403        p2: (struct){
   404          c: (#list){
   405            0: (int){ 100 }
   406            1: (int){ 100 }
   407          }
   408        }
   409      }
   410    }
   411    nodes: (struct){
   412      t1: (struct){
   413        p1: (struct){
   414          s1: (struct){
   415            a: (int){ 1 }
   416          }
   417        }
   418        p2: (struct){
   419          s1: (struct){
   420            a: (int){ 1 }
   421          }
   422        }
   423      }
   424      t2: (struct){
   425        s1: (struct){
   426          a: (int){ 1 }
   427          b: (int){ 2 }
   428        }
   429        s2: (struct){
   430          b: (int){ 2 }
   431          a: (int){ 1 }
   432        }
   433      }
   434      t3: (struct){
   435        s1: (struct){
   436          a: (int){ 1 }
   437          c: (int){ 3 }
   438          b: (int){ 2 }
   439        }
   440        s2: (struct){
   441          b: (int){ 2 }
   442          a: (int){ 1 }
   443          c: (int){ 3 }
   444        }
   445        s3: (struct){
   446          c: (int){ 3 }
   447          b: (int){ 2 }
   448          a: (int){ 1 }
   449        }
   450      }
   451    }
   452  }