cuelang.org/go@v0.13.0/cue/testdata/eval/counters.txtar (about)

     1  -- issue3750.cue --
     2  package p
     3  
     4  import "list"
     5  
     6  issue3750: original: {
     7  	out: #Foo & {
     8  		sub: #Foo
     9  	}
    10  
    11  	#Foo: {
    12  		sub: #Foo | #Bar
    13  		meta: {
    14  			strs: [...string]
    15  			for _, w in list.FlattenN([strs], 1) {}
    16  		}
    17  	}
    18  
    19  
    20  	#Bar: {
    21  		kind: "bar"
    22  		meta: strs: [...string]
    23  	}
    24  }
    25  
    26  issue3750: reduced: {
    27  	out: Foo & { sub: Foo }
    28  
    29  	Foo: {
    30  		sub: Foo | {a: b: _}
    31  		a: {
    32  			b: _
    33  			for _, w in list.FlattenN([b], 1) {}
    34  		}
    35  	}
    36  }
    37  -- issue3780.cue --
    38  import "strings"
    39  
    40  issue3780: panic1: {
    41  	objs: #Objects & {}
    42  	param!: bool
    43  	if param {
    44  		objs: obj1: {
    45  			one: 1
    46  			two: 2
    47  		}
    48  	}
    49  	#Objects: [strings.HasPrefix("obj")]: {
    50  		kind: "object"
    51  		...
    52  	}
    53  }
    54  issue3780: panic2: {
    55  	parent: {
    56  		objs: #Objects & {}
    57  		param?: bool
    58  		if param != _|_ {
    59  			objs: obj1: {
    60  				one: 1
    61  				two: 2
    62  			}
    63  		}
    64  		#Objects: [strings.HasPrefix("obj")]: {
    65  			kind: "object"
    66  			...
    67  		}
    68  	}
    69  }
    70  -- issue3770.cue --
    71  issue3770: task: {
    72  	m: {
    73  		let t = ["x"]
    74  		for m in t {
    75  			(m): a: 1
    76  		}
    77  		x: b: 1
    78  	}
    79  	m: null | {  }
    80  	out: m.x.a
    81  }
    82  -- issue3824.cue --
    83  issue3824: panic: {
    84  	thing: {
    85          spec: name: string
    86          outputField: string
    87  	}
    88  
    89  	val: string
    90  	things: [_]: thing
    91  
    92  	things: [_]: {
    93  			spec: *{
    94  					name: "self-signed"
    95  			} | {...}
    96  	}
    97  
    98  	if true {
    99  			things: "name": {}
   100  			val: things["name"].outputField
   101  	}
   102  }
   103  -- out/compile --
   104  --- issue3750.cue
   105  {
   106    issue3750: {
   107      original: {
   108        out: (〈0;#Foo〉 & {
   109          sub: 〈1;#Foo〉
   110        })
   111        #Foo: {
   112          sub: (〈1;#Foo〉|〈1;#Bar〉)
   113          meta: {
   114            strs: [
   115              ...string,
   116            ]
   117            for _, w in 〈import;list〉.FlattenN([
   118              〈1;strs〉,
   119            ], 1) {}
   120          }
   121        }
   122        #Bar: {
   123          kind: "bar"
   124          meta: {
   125            strs: [
   126              ...string,
   127            ]
   128          }
   129        }
   130      }
   131    }
   132    issue3750: {
   133      reduced: {
   134        out: (〈0;Foo〉 & {
   135          sub: 〈1;Foo〉
   136        })
   137        Foo: {
   138          sub: (〈1;Foo〉|{
   139            a: {
   140              b: _
   141            }
   142          })
   143          a: {
   144            b: _
   145            for _, w in 〈import;list〉.FlattenN([
   146              〈1;b〉,
   147            ], 1) {}
   148          }
   149        }
   150      }
   151    }
   152  }
   153  --- issue3770.cue
   154  {
   155    issue3770: {
   156      task: {
   157        m: {
   158          let t#1 = [
   159            "x",
   160          ]
   161          for _, m in 〈0;let t#1〉 {
   162            〈1;m〉: {
   163              a: 1
   164            }
   165          }
   166          x: {
   167            b: 1
   168          }
   169        }
   170        m: (null|{})
   171        out: 〈0;m〉.x.a
   172      }
   173    }
   174  }
   175  --- issue3780.cue
   176  {
   177    issue3780: {
   178      panic1: {
   179        objs: (〈0;#Objects〉 & {})
   180        param!: bool
   181        if 〈0;param〉 {
   182          objs: {
   183            obj1: {
   184              one: 1
   185              two: 2
   186            }
   187          }
   188        }
   189        #Objects: {
   190          [〈import;strings〉.HasPrefix("obj")]: {
   191            kind: "object"
   192            ...
   193          }
   194        }
   195      }
   196    }
   197    issue3780: {
   198      panic2: {
   199        parent: {
   200          objs: (〈0;#Objects〉 & {})
   201          param?: bool
   202          if (〈0;param〉 != _|_(explicit error (_|_ literal) in source)) {
   203            objs: {
   204              obj1: {
   205                one: 1
   206                two: 2
   207              }
   208            }
   209          }
   210          #Objects: {
   211            [〈import;strings〉.HasPrefix("obj")]: {
   212              kind: "object"
   213              ...
   214            }
   215          }
   216        }
   217      }
   218    }
   219  }
   220  --- issue3824.cue
   221  {
   222    issue3824: {
   223      panic: {
   224        thing: {
   225          spec: {
   226            name: string
   227          }
   228          outputField: string
   229        }
   230        val: string
   231        things: {
   232          [_]: 〈1;thing〉
   233        }
   234        things: {
   235          [_]: {
   236            spec: (*{
   237              name: "self-signed"
   238            }|{
   239              ...
   240            })
   241          }
   242        }
   243        if true {
   244          things: {
   245            name: {}
   246          }
   247          val: 〈0;things〉["name"].outputField
   248        }
   249      }
   250    }
   251  }
   252  -- out/evalalpha/stats --
   253  Leaks:  259
   254  Freed:  0
   255  Reused: 0
   256  Allocs: 259
   257  Retain: 0
   258  
   259  Unifications: 197
   260  Conjuncts:    309
   261  Disjuncts:    38
   262  
   263  CloseIDElems: 483
   264  NumCloseIDs: 43
   265  -- diff/-out/evalalpha/stats<==>+out/eval/stats --
   266  diff old new
   267  --- old
   268  +++ new
   269  @@ -1,9 +1,12 @@
   270  -Leaks:  1
   271  -Freed:  165
   272  -Reused: 153
   273  -Allocs: 13
   274  -Retain: 38
   275  -
   276  -Unifications: 138
   277  -Conjuncts:    254
   278  -Disjuncts:    204
   279  +Leaks:  259
   280  +Freed:  0
   281  +Reused: 0
   282  +Allocs: 259
   283  +Retain: 0
   284  +
   285  +Unifications: 197
   286  +Conjuncts:    309
   287  +Disjuncts:    38
   288  +
   289  +CloseIDElems: 483
   290  +NumCloseIDs: 43
   291  -- out/eval/stats --
   292  Leaks:  1
   293  Freed:  165
   294  Reused: 153
   295  Allocs: 13
   296  Retain: 38
   297  
   298  Unifications: 138
   299  Conjuncts:    254
   300  Disjuncts:    204
   301  -- out/evalalpha --
   302  (struct){
   303    issue3750: (struct){
   304      original: (struct){
   305        out: (#struct){
   306          sub: (#struct){
   307            sub: (#struct){ |((#struct){
   308                sub: (#struct){ |((#struct){
   309                    sub: (#struct){
   310                      kind: (string){ "bar" }
   311                      meta: (#struct){
   312                        strs: (list){
   313                        }
   314                      }
   315                    }
   316                    meta: (#struct){
   317                      strs: (list){
   318                      }
   319                    }
   320                  }, (#struct){
   321                    kind: (string){ "bar" }
   322                    meta: (#struct){
   323                      strs: (list){
   324                      }
   325                    }
   326                  }) }
   327                meta: (#struct){
   328                  strs: (list){
   329                  }
   330                }
   331              }, (#struct){
   332                kind: (string){ "bar" }
   333                meta: (#struct){
   334                  strs: (list){
   335                  }
   336                }
   337              }) }
   338            meta: (#struct){
   339              strs: (list){
   340              }
   341            }
   342          }
   343          meta: (#struct){
   344            strs: (list){
   345            }
   346          }
   347        }
   348        #Foo: (#struct){
   349          sub: (#struct){
   350            kind: (string){ "bar" }
   351            meta: (#struct){
   352              strs: (list){
   353              }
   354            }
   355          }
   356          meta: (#struct){
   357            strs: (list){
   358            }
   359          }
   360        }
   361        #Bar: (#struct){
   362          kind: (string){ "bar" }
   363          meta: (#struct){
   364            strs: (list){
   365            }
   366          }
   367        }
   368      }
   369      reduced: (struct){
   370        out: (struct){
   371          sub: (struct){
   372            sub: (struct){ |((struct){
   373                sub: (struct){ |((struct){
   374                    sub: (struct){
   375                      a: (struct){
   376                        b: (_){ _ }
   377                      }
   378                    }
   379                    a: (struct){
   380                      b: (_){ _ }
   381                    }
   382                  }, (struct){
   383                    a: (struct){
   384                      b: (_){ _ }
   385                    }
   386                  }) }
   387                a: (struct){
   388                  b: (_){ _ }
   389                }
   390              }, (struct){
   391                a: (struct){
   392                  b: (_){ _ }
   393                }
   394              }) }
   395            a: (struct){
   396              b: (_){ _ }
   397            }
   398          }
   399          a: (struct){
   400            b: (_){ _ }
   401          }
   402        }
   403        Foo: (struct){
   404          sub: (struct){
   405            a: (struct){
   406              b: (_){ _ }
   407            }
   408          }
   409          a: (struct){
   410            b: (_){ _ }
   411          }
   412        }
   413      }
   414    }
   415    issue3770: (struct){
   416      task: (struct){
   417        m: (struct){
   418          let t#1 = (#list){
   419            0: (string){ "x" }
   420          }
   421          x: (struct){
   422            b: (int){ 1 }
   423            a: (int){ 1 }
   424          }
   425        }
   426        out: (int){ 1 }
   427      }
   428    }
   429    issue3780: (struct){
   430      panic1: (_|_){
   431        // [incomplete] issue3780.panic1: incomplete bool: bool:
   432        //     ./issue3780.cue:5:10
   433        objs: (#struct){
   434        }
   435        param!: (bool){ bool }
   436        #Objects: (#struct){
   437        }
   438      }
   439      panic2: (struct){
   440        parent: (struct){
   441          objs: (#struct){
   442          }
   443          param?: (bool){ bool }
   444          #Objects: (#struct){
   445          }
   446        }
   447      }
   448    }
   449    issue3824: (struct){
   450      panic: (struct){
   451        thing: (struct){
   452          spec: (struct){
   453            name: (string){ string }
   454          }
   455          outputField: (string){ string }
   456        }
   457        val: (string){ string }
   458        things: (struct){
   459          name: (struct){
   460            spec: (struct){ |(*(struct){
   461                name: (string){ "self-signed" }
   462              }, (struct){
   463                name: (string){ string }
   464              }) }
   465            outputField: (string){ string }
   466          }
   467        }
   468      }
   469    }
   470  }
   471  -- diff/-out/evalalpha<==>+out/eval --
   472  diff old new
   473  --- old
   474  +++ new
   475  @@ -3,13 +3,37 @@
   476       original: (struct){
   477         out: (#struct){
   478           sub: (#struct){
   479  -          sub: (#struct){
   480  -            kind: (string){ "bar" }
   481  -            meta: (#struct){
   482  -              strs: (list){
   483  -              }
   484  -            }
   485  -          }
   486  +          sub: (#struct){ |((#struct){
   487  +              sub: (#struct){ |((#struct){
   488  +                  sub: (#struct){
   489  +                    kind: (string){ "bar" }
   490  +                    meta: (#struct){
   491  +                      strs: (list){
   492  +                      }
   493  +                    }
   494  +                  }
   495  +                  meta: (#struct){
   496  +                    strs: (list){
   497  +                    }
   498  +                  }
   499  +                }, (#struct){
   500  +                  kind: (string){ "bar" }
   501  +                  meta: (#struct){
   502  +                    strs: (list){
   503  +                    }
   504  +                  }
   505  +                }) }
   506  +              meta: (#struct){
   507  +                strs: (list){
   508  +                }
   509  +              }
   510  +            }, (#struct){
   511  +              kind: (string){ "bar" }
   512  +              meta: (#struct){
   513  +                strs: (list){
   514  +                }
   515  +              }
   516  +            }) }
   517             meta: (#struct){
   518               strs: (list){
   519               }
   520  @@ -43,34 +67,34 @@
   521       }
   522       reduced: (struct){
   523         out: (struct){
   524  -        sub: (struct){ |((struct){
   525  -            sub: (struct){ |((struct){
   526  -                a: (struct){
   527  -                  b: (_){ _ }
   528  -                }
   529  -                sub: (struct){
   530  -                  a: (struct){
   531  -                    b: (_){ _ }
   532  -                  }
   533  -                }
   534  -              }, (struct){
   535  -                a: (struct){
   536  -                  b: (_){ _ }
   537  -                }
   538  -              }) }
   539  -            a: (struct){
   540  -              b: (_){ _ }
   541  -            }
   542  -          }, (struct){
   543  -            sub: (struct){
   544  -              a: (struct){
   545  -                b: (_){ _ }
   546  -              }
   547  -            }
   548  -            a: (struct){
   549  -              b: (_){ _ }
   550  -            }
   551  -          }) }
   552  +        sub: (struct){
   553  +          sub: (struct){ |((struct){
   554  +              sub: (struct){ |((struct){
   555  +                  sub: (struct){
   556  +                    a: (struct){
   557  +                      b: (_){ _ }
   558  +                    }
   559  +                  }
   560  +                  a: (struct){
   561  +                    b: (_){ _ }
   562  +                  }
   563  +                }, (struct){
   564  +                  a: (struct){
   565  +                    b: (_){ _ }
   566  +                  }
   567  +                }) }
   568  +              a: (struct){
   569  +                b: (_){ _ }
   570  +              }
   571  +            }, (struct){
   572  +              a: (struct){
   573  +                b: (_){ _ }
   574  +              }
   575  +            }) }
   576  +          a: (struct){
   577  +            b: (_){ _ }
   578  +          }
   579  +        }
   580           a: (struct){
   581             b: (_){ _ }
   582           }
   583  -- out/eval --
   584  (struct){
   585    issue3750: (struct){
   586      original: (struct){
   587        out: (#struct){
   588          sub: (#struct){
   589            sub: (#struct){
   590              kind: (string){ "bar" }
   591              meta: (#struct){
   592                strs: (list){
   593                }
   594              }
   595            }
   596            meta: (#struct){
   597              strs: (list){
   598              }
   599            }
   600          }
   601          meta: (#struct){
   602            strs: (list){
   603            }
   604          }
   605        }
   606        #Foo: (#struct){
   607          sub: (#struct){
   608            kind: (string){ "bar" }
   609            meta: (#struct){
   610              strs: (list){
   611              }
   612            }
   613          }
   614          meta: (#struct){
   615            strs: (list){
   616            }
   617          }
   618        }
   619        #Bar: (#struct){
   620          kind: (string){ "bar" }
   621          meta: (#struct){
   622            strs: (list){
   623            }
   624          }
   625        }
   626      }
   627      reduced: (struct){
   628        out: (struct){
   629          sub: (struct){ |((struct){
   630              sub: (struct){ |((struct){
   631                  a: (struct){
   632                    b: (_){ _ }
   633                  }
   634                  sub: (struct){
   635                    a: (struct){
   636                      b: (_){ _ }
   637                    }
   638                  }
   639                }, (struct){
   640                  a: (struct){
   641                    b: (_){ _ }
   642                  }
   643                }) }
   644              a: (struct){
   645                b: (_){ _ }
   646              }
   647            }, (struct){
   648              sub: (struct){
   649                a: (struct){
   650                  b: (_){ _ }
   651                }
   652              }
   653              a: (struct){
   654                b: (_){ _ }
   655              }
   656            }) }
   657          a: (struct){
   658            b: (_){ _ }
   659          }
   660        }
   661        Foo: (struct){
   662          sub: (struct){
   663            a: (struct){
   664              b: (_){ _ }
   665            }
   666          }
   667          a: (struct){
   668            b: (_){ _ }
   669          }
   670        }
   671      }
   672    }
   673    issue3770: (struct){
   674      task: (struct){
   675        m: (struct){
   676          let t#1 = (#list){
   677            0: (string){ "x" }
   678          }
   679          x: (struct){
   680            b: (int){ 1 }
   681            a: (int){ 1 }
   682          }
   683        }
   684        out: (int){ 1 }
   685      }
   686    }
   687    issue3780: (struct){
   688      panic1: (_|_){
   689        // [incomplete] issue3780.panic1: incomplete bool: bool:
   690        //     ./issue3780.cue:5:10
   691        objs: (#struct){
   692        }
   693        param!: (bool){ bool }
   694        #Objects: (#struct){
   695        }
   696      }
   697      panic2: (struct){
   698        parent: (struct){
   699          objs: (#struct){
   700          }
   701          param?: (bool){ bool }
   702          #Objects: (#struct){
   703          }
   704        }
   705      }
   706    }
   707    issue3824: (struct){
   708      panic: (struct){
   709        thing: (struct){
   710          spec: (struct){
   711            name: (string){ string }
   712          }
   713          outputField: (string){ string }
   714        }
   715        val: (string){ string }
   716        things: (struct){
   717          name: (struct){
   718            spec: (struct){ |(*(struct){
   719                name: (string){ "self-signed" }
   720              }, (struct){
   721                name: (string){ string }
   722              }) }
   723            outputField: (string){ string }
   724          }
   725        }
   726      }
   727    }
   728  }