Skip to content

rust-protobuf version 3 #518

Closed
Closed
@stepancheg

Description

Issues to be fixed to release version 3

Version 3 alpha versions are published. docs.rs

Open questions:

  • Is current proto file placing OK? I. e. all files become first-level modules regardless of input directory structure and package declaration. I. e. foo/bar.proto becomes mod bar
  • Do we need to rename .proto member to rust idiomatic names? I. e. do we need to rename enum variant FOO to Foo?
  • Should we use raw identifiers for reserved names? Currently proto field type becomes field_type in generated code. Perhaps it should be r#type.
  • What about MessageField type? It is convenient, but isn't it too much mental overhead to work with?
  • Should we get rid of hack around figuring out how place messages in oneofs? They are boxed when there's a loop, and unboxed otherwise. I'm in favor of unconditionally making them boxed. Maybe later provide codegen option to store then unboxed.
  • Is codegen customize callback API convenient?
  • Shouldn't we pull JSON/text format parsing and serialization out of protobuf crate? For JSON we would be able to use third-party JSON parser more easily
  • should we restrict generated code only to current version of rust-protobuf? Or guarantee forward compatibility with generated code as rust-protobuf v2 did? Not guaranteeing compatibility would make future changes around reflection much easier.

Metadata

Assignees

No one assigned

    Labels

    rust-protobuf-v3Issued to be fixed to release version 3

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions