These will become meaningless once we migrate to editions. In the meantime, we've implemented APIs to expose the differences between proto2 and proto3 in terms of the features we plan to release in edition 2023.
PiperOrigin-RevId: 517433756
For legal reasons we unfortunately cannot accept any external contributions to
the well-known type protos, so this change reverts the small number of changes
we have received so far.
PiperOrigin-RevId: 517211904
In this CL we're adding the barebones infrastructure to generate Rust proto messages using UPB as a backend. The API is what we call a V0, not yet production-quality, not yet rigorously designed, just something to enable parallel work.
The interesting part of switching backend between UPB and C++ will come in a followup.
PiperOrigin-RevId: 517089760
For now, we'll just be hiding syntax getters on FileDescriptor. Later on this will likely grow to include other APIs that distinguish between proto2/proto3.
PiperOrigin-RevId: 516334230
As part of go/protobuf-editions, we will be abandoning `syntax` in place of the new editions framework. The first edition will turn each difference between proto2 and proto3 into a more targeted *feature* placed on proto descriptors. In preparation for this, we want to migrate everyone off direct inspection of `syntax`.
PiperOrigin-RevId: 515457103
The internal design is consistent with other <lang>_proto_library rules. rust_proto_library attaches rust_proto_library_aspect on its `deps` attribute. The aspect traverses the dependency, and when it visits proto_library (detected by ProtoInfo provider) it registers 2 actions:
1) to run protoc with Rust backend to emit gencode
2) to compile the gencode using Rustc
Action (2) gets the Rust proto runtime as an input as well.
Coming in a followup is support and test coverage for proto_library.deps.
PiperOrigin-RevId: 514521285
At the time the way of marking some stuff `deprecated` is overcomplicated taken into account that protobuf mandates C++11 to be built.
Particularly, PROTOBUF_DEPRECATED_ENUM references gcc-6 release notes and the compiler is almost 4.5 years old as of today.
I believe it should be possible to simplify the definitions.
Closes#12026
COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12026 from georgthegreat:deprecated 536c3c9ff7
PiperOrigin-RevId: 514480030