...
1# DO NOT EDIT; generated by go run testdata/gen.go
2#
3#name: alias reuse in nested scope
4#evalFull
5-- in.cue --
6#Foo: {
7 let X = or([for k, _ in {} {k}])
8 connection: [X]: X
9}
10#A: {
11 foo: "key"
12 let X = foo
13 a: foo: [X]: X
14}
15#B: {
16 foo: string
17 let X = foo
18 a: foo: [X]: X
19}
20b: #B & {foo: "key"}
21-- out/def --
22#Foo: {
23 connection: {
24 [or([for k, _ in {
25 ...
26 } { k }])]: or([for k, _ in {
27 ...
28 } { k }])
29 }
30}
31#A: {
32 foo: "key"
33 a: {
34 foo: {
35 ["key"]: "key"
36 }
37 }
38}
39#B: {
40 foo: string
41 FOO = foo
42 a: {
43 foo: {
44 [FOO]: FOO
45 }
46 }
47}
48b: #B & {
49 foo: "key"
50}
51-- out/export --
52b: {
53 foo: "key"
54 a: {
55 foo: {}
56 }
57}
58-- out/yaml --
59b:
60 foo: key
61 a:
62 foo: {}
63-- out/json --
64{"b":{"foo":"key","a":{"foo":{}}}}
65-- out/legacy-debug --
66<0>{#Foo: <1>C{connection: <2>C{[or ([ <3>for k, _ in <4>{} yield <3>.k ])]: <5>(_: string)->or ([ <3>for k, _ in <4>{} yield <3>.k ]), }}, #A: <6>C{foo: "key", a: <7>C{foo: <8>C{["key"]: <9>(_: string)-><10>.foo, }}}, #B: <11>C{foo: string, a: <12>C{foo: <13>C{[string]: <14>(_: string)-><15>.foo, }}}, b: <16>C{foo: "key", a: <17>C{foo: <18>C{["key"]: <19>(_: string)-><20>.foo, }}}}
67-- out/eval/stats --
68Leaks: 10
69Freed: 19
70Reused: 15
71Allocs: 14
72Retain: 10
73
74Unifications: 29
75Conjuncts: 40
76Disjuncts: 29
77-- out/eval --
78(struct){
79 #Foo: (#struct){
80 let X#1 = (_|_){
81 // [incomplete] empty list in call to or:
82 // ./in.cue:2:10
83 }
84 connection: (#struct){
85 }
86 }
87 #A: (#struct){
88 foo: (string){ "key" }
89 let X#2 = (string){ "key" }
90 a: (#struct){
91 foo: (#struct){
92 }
93 }
94 }
95 #B: (#struct){
96 foo: (string){ string }
97 let X#3 = (string){ string }
98 a: (#struct){
99 foo: (#struct){
100 }
101 }
102 }
103 b: (#struct){
104 foo: (string){ "key" }
105 let X#3 = (string){ "key" }
106 a: (#struct){
107 foo: (#struct){
108 }
109 }
110 }
111}
112-- out/compile --
113--- in.cue
114{
115 #Foo: {
116 let X#1 = or([
117 for k, _ in {} {
118 〈1;k〉
119 },
120 ])
121 connection: {
122 [〈1;let X#1〉]: 〈1;let X#1〉
123 }
124 }
125 #A: {
126 foo: "key"
127 let X#2 = 〈0;foo〉
128 a: {
129 foo: {
130 [〈2;let X#2〉]: 〈2;let X#2〉
131 }
132 }
133 }
134 #B: {
135 foo: string
136 let X#3 = 〈0;foo〉
137 a: {
138 foo: {
139 [〈2;let X#3〉]: 〈2;let X#3〉
140 }
141 }
142 }
143 b: (〈0;#B〉 & {
144 foo: "key"
145 })
146}
View as plain text