# conformance_test_runner --text_format_failure_list # # After the pb.text.decode slice landed, the text-format INPUT path is # wired through pb.text.decode in cmd/conformance/core.lua. The proto3 # TextFormatInput suite climbed from 8 ✓ / 426 skipped to 406 ✓ / 18 # skipped (the residual 18 are the proto2 message-type bucket — those # round-trip through TestAllTypesProto2 which we don't generate Lua for). # # The entries below are the 10 known failures that survive. All ten # share the same root cause: proto3's "default value is implicit-absence" # rule, applied uniformly by the codec, drops a singular float/double # field whose value is *negative zero* — `-0.0 == 0.0` in IEEE, so the # `if v ~= 0 then emit` guard elides it. Mainline's reference output # keeps the field, producing a `optional_float: -0` line we don't emit. # # This is a wire-codec quirk, not a text-format-decoder bug — the # decoder correctly parses `-0` and `-1e-50` to a float with the sign # bit set (verified by inspecting the FFI uint32 reinterpretation). The # fix lives in `runtime/pb/codec.lua` (and the inline-mode codegen) and # needs a "sign bit set" test for floats/doubles in addition to the # `v ~= 0` check. Out of scope for the pb.text.decode work. Required.Proto3.TextFormatInput.FloatFieldNegativeZero.ProtobufOutput Required.Proto3.TextFormatInput.FloatFieldNegativeZero.TextFormatOutput Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput Required.Proto3.TextFormatInput.FloatFieldNegativeZero_f.ProtobufOutput Required.Proto3.TextFormatInput.FloatFieldNegativeZero_f.TextFormatOutput Required.Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput Required.Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput Required.Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput Required.Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput