~thopiekar/protobuf/+git/protobuf:test_559560115

Last commit made on 2023-08-24
Get this branch:
git clone -b test_559560115 https://git.launchpad.net/~thopiekar/protobuf/+git/protobuf

Branch merges

Branch information

Name:
test_559560115
Repository:
lp:~thopiekar/protobuf/+git/protobuf

Recent commits

fee2e00... by Protobuf Team Bot <email address hidden>

LET ME RUN PRESUBMIT!!!

PiperOrigin-RevId: 559560115

77e3698... by Mike Kruskal <email address hidden>

Fix upb macos job names

PiperOrigin-RevId: 559624444

57d8049... by Mike Kruskal <email address hidden>

Editions: Refactor feature resolution to use an intermediate message.

This places all of the tricky reflection logic of feature resolution into a single location that outputs a portable protobuf message. With this message, feature resolution becomes drastically simpler and easy to reimplement in other languages.

Follow-up changes will provide:
- An API to specify generator features from the CodeGenerator class for C++ plugins
- A CLI for building these default mappings
- Bazel/CMake rules to help embed these mappings in target languages (i.e. for runtimes and non-C++ plugins)

PiperOrigin-RevId: 559615720

7d5592e... by Adam Cozzette <email address hidden>

Add upb "No System Python" test run

This test validates that upb Python targets can be built successfully even if
Python is not installed locally.

I also updated our pinned upb version to pull in some recent fixes needed for
this test run.

PiperOrigin-RevId: 559504790

66cf6b1... by Protobuf Team Bot <email address hidden>

Fixes for 32-bit MSVC.

Disable the alignment check in 32-bit msvc.
This toolchain has a difference between "natural" and "required" alignment of
types and it can have the alignment of members of type `T` to be smaller than
`alignof(T)`.

Also, disable AnyTest.TestPackFromSerializationExceedsSizeLimit there because it can't allocate that much memory.

PiperOrigin-RevId: 559495544

9a0bc39... by Alyssa Haroldsen <email address hidden>

Implement v0.6 Optional Bytes

This makes a few changes:
 - It changes generated messages to reference message innards as a type in `__runtime` instead of branching on what fields should be there. That results in much less bifurcation in gencode and lets runtime-agnostic code reference raw message innards.
- It adds a generic mechanism for creating vtable-based mutators. These vtables point to thunks generated for interacting with C++ or upb fields. Right now, the design results in 2-word (msg+vtable) mutators for C++ and 3-word mutators (msg+arena+vtable) for UPB. See upb.rs for an explanation of the design options. I chose the `RawMessage+&Arena` design for mutator data as opposed to a `&MessageInner` design because it did not result in extra-indirection layout changes for message mutators. We could revisit this in the future with performance data, since this results in all field mutators being 3 words large instead of the register-friendly 2 words.
- And lastly, as a nearby change that touches on many of the same topics, it adds some extra SAFETY comments for Send/Sync in message gencode.

PiperOrigin-RevId: 559483437

11f5044... by Protobuf Team Bot <email address hidden>

Internal change.

PiperOrigin-RevId: 559457924

27d42c5... by Mike Kruskal <email address hidden>

Fix a bug that strips options from descriptor.proto in Python.

This fixes Python/C++ and upb, and pushes the buggy behavior to pure python. There, it's very difficult to handle options on the bootstrapped proto with the current architecture. Future changes will attempt to address this more isolated issue.

PiperOrigin-RevId: 559450900

3bc507d... by Thomas Van Lenten <email address hidden>

[ObjC] Fix minimal imports for root generation.

Imports where the types aren't used, but they do vend extensions
also need to be imported into the generated source.

PiperOrigin-RevId: 559419899

2d67dc4... by Protobuf Team Bot <email address hidden>

Auto-generate files after cl/559271634