descriptor: reject duplicate oneof names - #415
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
[claude code] This is correct and not redundant with the existing symbol table: on
Not for this PR, noting for completeness: protoc's per-message symbol scope also rejects a oneof whose name collides with a field or nested type in the same message; buffa still accepts that. If you pick it up later, keep it separate from the existing Please drop this PR's edit to the |
# Conflicts: # buffa-descriptor/src/pool.rs
…s get members Review follow-ups: the duplicate-name set borrows &str instead of cloning each name, the rejection test gives each oneof a member field so the descriptor is invalid for one reason only, and the changelog fragment cites the PR and carries a timestamped filename. Merged main; the DescriptorPool::new/decode error summaries keep main's wording pending a single rewrite after this series.
|
[claude code] No push since the review, so I've applied the items myself so this can ride 0.10.0: f34688c merges |
What changed
DescriptorPool.PoolErrorvariant and display message.Checks
cargo test -p buffa-descriptor --features reflect --test pool_e2ecargo test -p buffa-descriptor --all-featurescargo clippy -p buffa-descriptor --all-targets --all-features -- -D warningscargo fmt --all -- --check