New test case demonstrating an import public bug: a.proto publicly imports b.proto and c.proto b.proto publicly imports c.proto a.pb.go includes two copies of symbols in c.pb.go The problem is that the new implementation of public imports, which parses the generated code for the import to determine what symbols are present, doesn't distinguish between symbols defined in a file and symbols imported from a public import of some other file. This can then lead to duplicate definitions in cases like the above. Change-Id: Ia86e9f188d7bae8d9d4afbd2b5db9b64071425c3 Reviewed-on: https://go-review.googlesource.com/c/156347 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
Next Generation Go Protocol Buffers
WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.
This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.
Design Documents
List of relevant design documents:
Contributing
We appreciate community contributions. See CONTRIBUTING.md.
Reporting Issues
Issues regarding the new API can be filed at
github.com/golang/protobuf.
Please use a APIv2:
prefix in the title to make it clear that
the issue is regarding the new API work.