~bigbes/tarantool-protobuf: 4db0366a

runtime: parser + dynamic accept proto2 sources

Parser now captures `required=true` and `default_value=…` from the
proto2 keywords (instead of dropping `required` silently and ignoring
field options). Dynamic descriptor builder reads `parsed.syntax`,
flips the repeated-scalar packing default for proto2, and calls
`codec.compile_writers/compile_readers` so the per-field
required-writer specialization actually fires — without that the
generic encode_field path silently elides missing required fields.

64-bit-int defaults are coerced into the appropriate cdata type
inside `coerce_default` so the codec's value-comparison rules
match what generated code emits.

Adds 7 dynamic-mode luatest cases including a static-vs-dynamic
byte-parity check. 725 tests pass.

Eugene Blikh <bigbes@gmail.com> — 2026-05-17 05:09:42 UTC

Commit 4db0366a5008e874de1e26f690f4bff499de51bfview raw patch

Parent(s): 4fbdb65d

3 changed file(s)

FileStatus+
runtime/pb/dynamic.lua M +59 -6
runtime/pb/parser.lua M +21 -13
test/proto2_test.lua M +91