SIGN IN SIGN UP

Protocol Buffers - Google's data interchange format

0 0 2 C++

Rust C++: remove per-message functions for repeated fields

This CL deletes the per-message C++ functions for operating on repeated fields
and replaces them with functions in the runtime that can work with arbitrary
messages.

Similar to what we did with maps, this required refactoring the code to make it
work with `RepeatedPtrFieldBase`, the untyped base class of
`RepeatedPtrField<T>`. I added a `RustRepeatedMessageHelper` class to allow us
access to the protected methods we need.

This should save a bit of linker input code size, but I think more importantly
we are going to need this eventually to enable tree shaking to work well.

PiperOrigin-RevId: 693394959
A
Adam Cozzette committed
9bdafdbb0c9aa948cb37e1ccdf0df8a09b9e7e4e
Parent: 31c5f73
Committed by Copybara-Service <copybara-worker@google.com> on 11/5/2024, 6:24:35 PM