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 }