mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-23 08:44:48 -06:00
topdown/eval: conflict errors in functions when output not captured (#3920)
With func1.rego as
package test
r(x) {
data.test.q(x)
}
q(_) = true
q(_) = false
Before:
$ opa eval -fpretty -d func1.rego 'data.test.r(1)'
true
After:
$ opa eval -fpretty -d func1.rego 'data.test.r(1)'
1 error occurred: func1.rego:12: eval_conflict_error: functions must not produce multiple outputs for same inputs
Fixes #3912.
Also adds a CHANGELOG item making the backwards-compat-breaking change
prominent, and sharing an example of how to fix it.
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
This commit is contained in:
@@ -15,3 +15,18 @@ cases:
|
||||
query: data.test1.r = x
|
||||
want_error: functions must not produce multiple outputs for same inputs
|
||||
want_error_code: eval_conflict_error
|
||||
- data:
|
||||
modules:
|
||||
- |
|
||||
package test
|
||||
|
||||
f(_) = true
|
||||
f(_) = false
|
||||
|
||||
r {
|
||||
data.test.f(1)
|
||||
}
|
||||
note: functionerrors/function output conflict, used as boolean
|
||||
query: data.test.r = x
|
||||
want_error: functions must not produce multiple outputs for same inputs
|
||||
want_error_code: eval_conflict_error
|
||||
|
||||
Reference in New Issue
Block a user