blob: 25fc9b34e093dfccd9d8d5ecf1c31a5339c03ccd [file] [log] [blame]
# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: closing with comprehensions
#evalPartial
-- in.cue --
#A: {f1: int, f2: int}
for k, v in {f3: int} {
a: #A & {"\(k)": v}
}
#B: {
for k, v in {f1: int} {
"\(k)": v
}
}
#C: {
f1: _
for k, v in {f1: int} {
"\(k)": v
}
}
#D: {
for k, v in {f1: int} {
"\(k)": v
}
...
}
#E: #A & {
for k, v in {f3: int} {
"\(k)": v
}
}
-- out/def --
#A: {
f1: int
f2: int
}
a: _|_ // field "f3" not allowed in closed struct
#B: {
f1: v
}
#C: {
f1: {
_
v
...
}
}
#D: {
f1: v
...
}
#E: _|_ // field "f3" not allowed in closed struct
-- out/legacy-debug --
<0>{#A: <1>C{f1: int, f2: int}, a: _|_(<2>.v:field "f3" not allowed in closed struct), #B: <3>C{f1: int}, #C: <4>C{f1: int}, #D: <5>{f1: int, ...}, #E: _|_(<6>.v:field "f3" not allowed in closed struct)}
-- out/compile --
--- in.cue
{
#A: {
f1: int
f2: int
}
for k, v in {
f3: int
} {
a: (〈2;#A & {
"\(〈2;k〉)": 2;v
})
}
#B: {
for k, v in {
f1: int
} {
"\(〈1;k〉)": 1;v
}
}
#C: {
f1: _
for k, v in {
f1: int
} {
"\(〈1;k〉)": 1;v
}
}
#D: {
for k, v in {
f1: int
} {
"\(〈1;k〉)": 1;v
}
...
}
#E: (〈0;#A〉 & {
for k, v in {
f3: int
} {
"\(〈1;k〉)": 1;v
}
})
}
-- out/eval --
Errors:
#D: cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
#E: field `f3` not allowed
a: field `f3` not allowed
Result:
(_|_){
// [eval]
#A: (#struct){
f1: (int){ int }
f2: (int){ int }
}
#B: (#struct){
f1: (int){ int }
}
#C: (#struct){
f1: (int){ int }
}
#D: (_|_){
// [eval] #D: cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
f1: (int){ int }
}
#E: (_|_){
// [eval] #E: field `f3` not allowed
f1: (int){ int }
f2: (int){ int }
f3: (int){ int }
}
a: (_|_){
// [eval] a: field `f3` not allowed
f1: (int){ int }
f2: (int){ int }
f3: (int){ int }
}
}