blob: fb9aaff78ae02893043251edd4fb419a83db9b2f [file] [log] [blame]
-- in.cue --
range1: {
min: *1 | int
range: >min
range: 8
}
range2: {
min: *1 | int
max: int & >min
}
rg: range2 & {
// min: 1
max: 8
}
#Size : {
res: uint | * 0
num: > res | *(1 + res)
max: > num | *num
}
a: #Size & {
num: 5
}
-- out/eval --
(struct){
range1: (struct){
min: (int){ |(*(int){ 1 }, (int){ int }) }
range: (int){ 8 }
}
range2: (struct){
min: (int){ |(*(int){ 1 }, (int){ int }) }
max: (int){ &(>1, int) }
}
rg: (struct){
min: (int){ |(*(int){ 1 }, (int){ int }) }
max: (int){ 8 }
}
#Size: (#struct){
res: (int){ |(*(int){ 0 }, (int){ &(>=0, int) }) }
num: (number){ |(*(int){ 1 }, (number){ >0 }) }
max: (number){ |(*(int){ 1 }, (number){ >0 }, (number){ >1 }) }
}
a: (#struct){
res: (int){ |(*(int){ 0 }, (int){ &(>=0, int) }) }
num: (int){ 5 }
max: (number){ |((int){ 5 }, (number){ >5 }) }
}
}
-- out/compile --
--- in.cue
{
range1: {
min: (*1|int)
range: >〈0;min
range: 8
}
range2: {
min: (*1|int)
max: (int & >〈0;min〉)
}
rg: (〈0;range2 & {
max: 8
})
#Size: {
res: (&(int, >=0)|*0)
num: (>〈0;res〉|*(1 + 0;res〉))
max: (>〈0;num〉|*〈0;num〉)
}
a: (〈0;#Size & {
num: 5
})
}