Skip to content

Conversation

@TristonianJones
Copy link
Collaborator

Enable heterogeneous equality within the runtime.

The type-checker will raise errors when cross-type comparisons are made within strongly typed
expressions; however, for dynamically typed data such inferences are not possible meaning they
must be handled appropriately at runtime.

Heterogeneous equality is being introduced to ensure that CEL and proto equality are better
aligned, that CEL's notion of runtime equality is consistent with Zeta SQLs, and to make it easier
to work with dynamically typed data: e.g.json.string_value != 2

This change is a semantic change which has not yet been reflected in the cel-spec but will be
soon. The change is generally regarded as safe as it shifts error states to non-error states, but
in very rare circumstances it is possible that an application may rely on this error to be produced.

@TristonianJones TristonianJones marked this pull request as draft February 10, 2022 22:19
@TristonianJones
Copy link
Collaborator Author

Note, this PR should only be submitted after #481 is merged.

@TristonianJones TristonianJones marked this pull request as ready for review February 15, 2022 22:04
@TristonianJones
Copy link
Collaborator Author

PTAL

@TristonianJones TristonianJones merged commit e3a86d3 into google:master Feb 22, 2022
@TristonianJones TristonianJones deleted the heterogeneous-equality branch February 22, 2022 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants