Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for editions #1031

Open
ouillie opened this issue Apr 18, 2024 · 3 comments
Open

Add support for editions #1031

ouillie opened this issue Apr 18, 2024 · 3 comments

Comments

@ouillie
Copy link

ouillie commented Apr 18, 2024

Editions are the future of protobuf syntax.

Currently, when you set edition = "2023" at the top of a .proto file, and run it through prost-build using protoc_arg("--experimental_editions"), it will panic on this line because the value of FileDescriptorProto.syntax is "editions". That's pretty much the extent of my investigation. I just figured I'd file this bug since support for editions doesn't seem to be tracked elsewhere.

This may sound like it's adding complexity to Prost, but it looks like it should actually simplify Prost once Prototiller is released, since that will effectively normalize all the different syntaxes and editions into a canonical representation using features, and Prost will only have to support that canonical representation in the long term. It would be a somewhat heavy refactor up front, though.

@caspermeijn
Copy link
Collaborator

I agree, editions are important. However, due to backwards compatibility of protoc itself, we need to keep supporting proto2 and proto3 for some time.

Are you willing to do the work to add this support?

@ouillie
Copy link
Author

ouillie commented Apr 22, 2024

That makes sense. I won't have bandwidth for a couple months, but I'm down to contribute, especially after Prototiller is released.

@mzabaluev
Copy link
Contributor

Up to spec support for editions requires at least the following:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants