blob: 5d8e1709dd7c842fb2542aa678166d424666880e [file] [log] [blame]
These should all be incomplete errors.
-- in.cue --
s: string
e1: s + s
e2: >"bar" & s // okay
e3: >s & "foo" // okay
e3b: >s
e4: >e1 & s
e5: <e5 & s
E: {
a: c-b
b: c-a
c: a+b & >=5
}
// Issue #129
permanentlyIncompleteOperands: {
a: string + ":" + string
a: "golang/go:1.13.5"
}
issue680: (>10 * 2) & 0
-- out/eval --
Errors:
permanentlyIncompleteOperands.a: invalid operand string ('+' requires concrete value):
./in.cue:19:8
Result:
(_|_){
// [eval]
s: (string){ string }
e1: (_|_){
// [incomplete] e1: non-concrete value string in operand to +:
// ./in.cue:3:5
}
e2: (string){ >"bar" }
e3: (string){ "foo" }
e3b: (string){ string }
e4: (_|_){
// [incomplete] e1: non-concrete value string in operand to +:
// ./in.cue:3:5
}
e5: (_|_){
// [cycle] cycle error
}
E: (struct){
a: (_|_){
// [cycle] cycle error:
// ./in.cue:12:6
}
b: (_|_){
// [cycle] cycle error:
// ./in.cue:13:6
}
c: (_|_){
// [cycle] cycle error:
// ./in.cue:12:6
// cycle error:
// ./in.cue:13:6
}
}
permanentlyIncompleteOperands: (_|_){
// [eval]
a: (_|_){
// [eval] permanentlyIncompleteOperands.a: invalid operand string ('+' requires concrete value):
// ./in.cue:19:8
}
}
issue680: (_|_){
// [incomplete] issue680: non-concrete value >10 in operand to *:
// ./in.cue:23:12
}
}
-- out/compile --
--- in.cue
{
s: string
e1: (〈0;s + 0;s〉)
e2: (>"bar" & 0;s〉)
e3: (>〈0;s & "foo")
e3b: >〈0;s
e4: (>〈0;e1 & 0;s〉)
e5: (<〈0;e5 & 0;s〉)
E: {
a: (〈0;c - 0;b〉)
b: (〈0;c - 0;a〉)
c: ((〈0;a + 0;b〉) & >=5)
}
permanentlyIncompleteOperands: {
a: ((string + ":") + string)
a: "golang/go:1.13.5"
}
issue680: ((>10 * 2) & 0)
}