blob: 7b1d90510f054f5ce2eb5a118b0105a617902de9 [file] [log] [blame]
-- in.cue --
_Q : [{pos: 0},{pos: 1}]
a: [rn=string]: _Q[0:len(a[rn])]
a: ben: [{}]
b: [rn=string]: _Q[0:1]
b: ben: [{}]
c: [rn=string]: [...{l: len(a[rn])}]
c: ben: [{}]
#d: [rn=string]: [...{pos:uint}] & _Q[0:len(#d[rn])]
#d: ben: [{}]
d: #d
e: [rn=string]: _Q[0:len(a[rn])+1]
e: ben: [{}, ...]
f: [rn=string]: _Q[0:len(a[rn])+1]
f: ben: [{}]
g: [rn=string]: _Q[0:len(a[rn])]
g: ben: [{}, {}]
-- out/eval --
Errors:
f.ben: incompatible list lengths (1 and 2)
g.ben: incompatible list lengths (1 and 2)
Result:
(_|_){
// [eval]
_Q: (#list){
0: (struct){
pos: (int){ 0 }
}
1: (struct){
pos: (int){ 1 }
}
}
a: (struct){
ben: (#list){
0: (struct){
pos: (int){ 0 }
}
}
}
b: (struct){
ben: (#list){
0: (struct){
pos: (int){ 0 }
}
}
}
c: (struct){
ben: (#list){
0: (struct){
l: (int){ 1 }
}
}
}
#d: (#struct){
ben: (#list){
0: (#struct){
pos: (int){ 0 }
}
}
}
d: (#struct){
ben: (#list){
0: (#struct){
pos: (int){ 0 }
}
}
}
e: (struct){
ben: (#list){
0: (struct){
pos: (int){ 0 }
}
1: (struct){
pos: (int){ 1 }
}
}
}
f: (_|_){
// [eval]
ben: (_|_){
// [eval] f.ben: incompatible list lengths (1 and 2)
0: (struct){
pos: (int){ 0 }
}
1: (struct){
pos: (int){ 1 }
}
}
}
g: (_|_){
// [eval]
ben: (_|_){
// [eval] g.ben: incompatible list lengths (1 and 2)
0: (struct){
pos: (int){ 0 }
}
1: (struct){
}
}
}
}
-- out/compile --
--- in.cue
{
_Q: [
{
pos: 0
},
{
pos: 1
},
]
a: {
[string]: 1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
}
a: {
ben: [
{},
]
}
b: {
[string]: 1;_Q〉[0:1]
}
b: {
ben: [
{},
]
}
c: {
[string]: [
...{
l: len(〈2;a〉[〈1;-〉])
},
]
}
c: {
ben: [
{},
]
}
#d: {
[string]: ([
...{
pos: &(int, >=0)
},
] & 1;_Q〉[0:len(〈1;#d〉[〈0;-〉])])
}
#d: {
ben: [
{},
]
}
d: 0;#d
e: {
[string]: 1;_Q〉[0:(len(〈1;a〉[〈0;-〉]) + 1)]
}
e: {
ben: [
{},
...,
]
}
f: {
[string]: 1;_Q〉[0:(len(〈1;a〉[〈0;-〉]) + 1)]
}
f: {
ben: [
{},
]
}
g: {
[string]: 1;_Q〉[0:len(〈1;a〉[〈0;-〉])]
}
g: {
ben: [
{},
{},
]
}
}