Skip to content

default function value ignored in partial eval #7220

Open
@srenatus

Description

@srenatus

p.rego:

package filters
import rego.v1

include if cheap(input.fruits)

default cheap(_) := true
cheap(f) if f.price < 100

Eval with a fruit that has no price:

$ echo '{"fruits": {"name": "banana"}}' | opa eval -fpretty -I -d p.rego data.filters.include
true

Partial eval:

$ opa eval -fpretty -p -d p.rego data.filters.include
+---------+--------------------------+
| Query 1 | input.fruits.price < 100 |
+---------+--------------------------+

With the PE resuit, a fruit without a price would be denied. It shouldn't be. The default function value seems to be disregarded.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status

      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions