-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exhaustive eval for map/list/object evaluation #1118
Comments
Hi @mneff-roblox, thanks for filing the issue. Usually an unknown in the map/list/object prevents accessing that object unless you're using a non-strict function. The position of CEL is to be as conservative as possible with intent. If part of the map is unknown then functions like Is there a specific function that you'd like to see a more detailed Cheers, -Tristan |
@mneff-roblox If you'd like to try updating the exhaustive eval for createList, createMap, createStruct that's probably pretty useful now that I've had a little time to think about it. Most of this work would be implemented in the |
Yes, I mean specifically for literal construction. The goal is to just have all unknowns in an expression that affect the final result bubble to the top unknown. (Goal is to use this to run data loading) I'll submit a PR. Seems like just a matter of routing to new evalExhaustiveMap / List / Obj in |
Feature request checklist
Change
Similar to how exhaustive eval of
and
merges the unknowns, I think there should be exhaustive eval for these types.You can see in the map code that the first unknown or error hit short circuits and returns, but if I'm building a map out of two unknowns, it would be nice for this to evaluate to the merging of those two unknowns when using exhaustive evaluation. Same applies to list and object.
Example
The text was updated successfully, but these errors were encountered: