FWIW, at work we handle these cases with multiple crates already; for each protobuf .proto
file we use, there's a something-proto
crate that contains the generated code and a tiny amount (if needed) of "glue" to interface it to Rust, and then a higher-level crate that imports something-proto
and uses it. We do similar with -sys
crates for things that use bindgen
.
As a result, while this would really hurt your workflow for such things, it'd barely be noticeable to us. Makes evaluating it a little trickier, since we'd need some sense of which workflows are more common.