You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just as a note to folks who come across this issue, updating protovalidate-go is blocked on the spec itself being updated (bufbuild/protovalidate#362), and then we will want to land a similar change to all other supported protovalidate implementations at the same time.
Hi @nicksnyder I'm interested in your repo and planning to implement bitwise operations in this repo. @smaye81
told me you would welcome the PR. bufbuild/protovalidate#362 (comment) However, before kicking off, I still want to confirm one thing: would you consider merging my PR to your main branch? This will break your consistency between different languages.
Feature description:
Support bitwise operations in predefined CEL rules.
For example,
although the above rules can be successfully complied by
protoc
, when execute, I got this error:I think CEL itself support bitwise operations? I'm not sure whether
protovalidate
disable it or there's some reason it doesn't work.My toolchain version:
protoc:
libprotoc 3.21.9
validate.proto: https://github.com/bufbuild/protovalidate/blob/51ee9b3a85ed11c19a2b8023aa2520cca82f431e/proto/protovalidate/buf/validate/validate.proto
protovalidate-go:
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250425153114-8976f5be98c1.1
Problem it solves or use case:
When predefining some more complicated rules.
Proposed implementation or solution:
Although
cel-spec
hasn't support bitwise operations. They provide go-implenmation for this as an extension. See https://github.com/google/cel-go/blob/f6d3c92171c2c8732a8d0a4b24d6729df4261520/ext/math.go#L95. It should not be hard to support this new operations just like other extension rules.Contribution:
Willing to contribute, if I can get necessary guidance.
Examples or references:
None
Additional context:
None
The text was updated successfully, but these errors were encountered: