cuelang.org/go@v0.13.0/cue/testdata/comprehensions/issue3762.txtar (about)

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