cuelang.org/go@v0.13.0/cue/testdata/fulleval/051_detectIncompleteYAML.txtar (about) 1 #name: detectIncompleteYAML 2 #evalFull 3 -- in.cue -- 4 package foobar 5 6 import yaml "encoding/yaml" 7 8 #Spec: { 9 _vars: {something: string} 10 data: { 11 #foo: { 12 use: _vars.something 13 } 14 baz: yaml.Marshal(_vars.something) 15 foobar: yaml.Marshal(#foo) 16 } 17 } 18 Val: #Spec & { 19 _vars: something: "var-string" 20 } 21 -- out/def -- 22 package foobar 23 24 import "encoding/yaml" 25 26 #Spec: { 27 _vars: { 28 something: string 29 } 30 data: { 31 #foo: { 32 use: _vars.something 33 } 34 baz: yaml.Marshal(_vars.something) 35 foobar: yaml.Marshal(#foo) 36 } 37 } 38 Val: #Spec & { 39 _vars: { 40 something: "var-string" 41 } 42 } 43 -- out/export -- 44 Val: { 45 data: { 46 baz: """ 47 var-string 48 49 """ 50 foobar: """ 51 use: var-string 52 53 """ 54 } 55 } 56 -- out/yaml -- 57 Val: 58 data: 59 baz: | 60 var-string 61 foobar: | 62 use: var-string 63 -- out/json -- 64 {"Val":{"data":{"baz":"var-string\n","foobar":"use: var-string\n"}}} 65 -- out/legacy-debug -- 66 <0>{#Spec: <1>C{_vars: <2>C{something: string}, data: <3>C{#foo: <4>C{use: string}, baz: <5>.Marshal (<6>._vars.something), foobar: <5>.Marshal (<7>.#foo)}}, Val: <8>C{_vars: <9>C{something: "var-string"}, data: <10>C{#foo: <11>C{use: "var-string"}, baz: "var-string\n", foobar: "use: var-string\n"}}} 67 -- out/eval/stats -- 68 Leaks: 0 69 Freed: 17 70 Reused: 12 71 Allocs: 5 72 Retain: 0 73 74 Unifications: 17 75 Conjuncts: 32 76 Disjuncts: 17 77 -- out/eval -- 78 (struct){ 79 #Spec: (#struct){ 80 _vars(:foobar): (#struct){ 81 something: (string){ string } 82 } 83 data: (#struct){ 84 #foo: (#struct){ 85 use: (string){ string } 86 } 87 baz: (_|_){ 88 // [incomplete] #Spec.data.baz: non-concrete argument 0: 89 // ./in.cue:11:11 90 } 91 foobar: (_|_){ 92 // [incomplete] #Spec.data.foobar: error in call to encoding/yaml.Marshal: incomplete value string: 93 // ./in.cue:12:11 94 // ./in.cue:6:21 95 } 96 } 97 } 98 Val: (#struct){ 99 _vars(:foobar): (#struct){ 100 something: (string){ "var-string" } 101 } 102 data: (#struct){ 103 #foo: (#struct){ 104 use: (string){ "var-string" } 105 } 106 baz: (string){ "var-string\n" } 107 foobar: (string){ "use: var-string\n" } 108 } 109 } 110 } 111 -- out/compile -- 112 --- in.cue 113 { 114 #Spec: { 115 _vars: { 116 something: string 117 } 118 data: { 119 #foo: { 120 use: 〈2;_vars〉.something 121 } 122 baz: 〈import;"encoding/yaml"〉.Marshal(〈1;_vars〉.something) 123 foobar: 〈import;"encoding/yaml"〉.Marshal(〈0;#foo〉) 124 } 125 } 126 Val: (〈0;#Spec〉 & { 127 _vars: { 128 something: "var-string" 129 } 130 }) 131 }