cuelang.org/go@v0.13.0/cue/testdata/fulleval/040.txtar (about)

     1  #evalFull
     2  -- in.cue --
     3  #Task: {
     4  	{
     5  		op:          "pull"
     6  		tag:         *"latest" | string
     7  		refToTag:    tag
     8  		tagExpr:     tag + "dd"
     9  		tagInString: "\(tag)"
    10  	} | {
    11  		op: "scratch"
    12  	}
    13  }
    14  
    15  foo: #Task & {"op": "pull"}
    16  -- out/def --
    17  #Task: {
    18  	op:          "pull"
    19  	tag:         *"latest" | string
    20  	refToTag:    tag
    21  	tagExpr:     "latestdd"
    22  	tagInString: "latest"
    23  } | {
    24  	op: "scratch"
    25  }
    26  foo: #Task & {
    27  	op: "pull"
    28  }
    29  -- out/export --
    30  foo: {
    31  	op:          "pull"
    32  	tag:         "latest"
    33  	refToTag:    "latest"
    34  	tagExpr:     "latestdd"
    35  	tagInString: "latest"
    36  }
    37  -- out/yaml --
    38  foo:
    39    op: pull
    40    tag: latest
    41    refToTag: latest
    42    tagExpr: latestdd
    43    tagInString: latest
    44  -- out/json --
    45  {"foo":{"op":"pull","tag":"latest","refToTag":"latest","tagExpr":"latestdd","tagInString":"latest"}}
    46  -- out/legacy-debug --
    47  <0>{#Task: (<1>C{op: "pull", tag: (*"latest" | string), refToTag: <1>.tag, tagExpr: (<1>.tag + "dd"), tagInString: ""+<1>.tag+""} | <2>C{op: "scratch"}), foo: <3>C{op: "pull", tag: "latest", refToTag: "latest", tagExpr: "latestdd", tagInString: "latest"}}
    48  -- out/compile --
    49  --- in.cue
    50  {
    51    #Task: {
    52      ({
    53        op: "pull"
    54        tag: (*"latest"|string)
    55        refToTag: 〈0;tag〉
    56        tagExpr: (〈0;tag〉 + "dd")
    57        tagInString: "\(〈0;tag〉)"
    58      }|{
    59        op: "scratch"
    60      })
    61    }
    62    foo: (〈0;#Task〉 & {
    63      op: "pull"
    64    })
    65  }
    66  -- out/eval/stats --
    67  Leaks:  0
    68  Freed:  27
    69  Reused: 21
    70  Allocs: 6
    71  Retain: 0
    72  
    73  Unifications: 15
    74  Conjuncts:    35
    75  Disjuncts:    27
    76  -- out/eval --
    77  (struct){
    78    #Task: (#struct){ |((#struct){
    79        op: (string){ "pull" }
    80        tag: (string){ |(*(string){ "latest" }, (string){ string }) }
    81        refToTag: (string){ |(*(string){ "latest" }, (string){ string }) }
    82        tagExpr: (string){ "latestdd" }
    83        tagInString: (string){ "latest" }
    84      }, (#struct){
    85        op: (string){ "scratch" }
    86      }) }
    87    foo: (#struct){
    88      op: (string){ "pull" }
    89      tag: (string){ |(*(string){ "latest" }, (string){ string }) }
    90      refToTag: (string){ |(*(string){ "latest" }, (string){ string }) }
    91      tagExpr: (string){ "latestdd" }
    92      tagInString: (string){ "latest" }
    93    }
    94  }