It would be great to support generating one crate per service to improve incremental compilation performance in Rust workspaces.
For example:
serviceA.proto → crates/services/service-a
serviceB.proto → crates/services/service-b
Currently, generated code relies on relative imports such as super::.. With a per-service crate layout, these imports could instead reference external crates directly (for example service_b::...).
This would provide a major benefit for larger projects with many services: changes to a single .proto file would only require recompiling the corresponding crate instead of triggering recompilation across all generated services.
It would be great to support generating one crate per service to improve incremental compilation performance in Rust workspaces.
For example:
serviceA.proto → crates/services/service-a
serviceB.proto → crates/services/service-b
Currently, generated code relies on relative imports such as
super::.. With a per-service crate layout, these imports could instead reference external crates directly (for example service_b::...).This would provide a major benefit for larger projects with many services: changes to a single .proto file would only require recompiling the corresponding crate instead of triggering recompilation across all generated services.