Skip to content

restore preserve_order on taurpc serde_json#16

Merged
johncarmack1984 merged 1 commit into
mainfrom
john/restore-preserve-order
May 5, 2026
Merged

restore preserve_order on taurpc serde_json#16
johncarmack1984 merged 1 commit into
mainfrom
john/restore-preserve-order

Conversation

@johncarmack1984

@johncarmack1984 johncarmack1984 commented May 5, 2026

Copy link
Copy Markdown

Summary

The rc.24 rebuild against upstream main (PR #15) collapsed the runtime taurpc crate's serde_json feature set from ["preserve_order"] to bare "1". The taurpc-macros sub-crate still pins ["preserve_order"], so the inconsistency lives entirely in the runtime crate -- proc-macro codegen order is deterministic at build time, but anywhere taurpc actually walks a serde_json::Map at runtime it falls back to BTreeMap's sorted iteration.

This restores the feature so behavior matches both the macros crate and the workspace baseline (fltsci/Cargo.toml already enables preserve_order workspace-wide for the same reason -- the in-tree comment notes "GeoJson tests become non-deterministic without preserve_order").

Test plan

  • cargo build -p taurpc clean

The rc.24 rebuild against upstream main collapsed the runtime crate's
serde_json feature set to bare "1", losing preserve_order. The macros
crate still has it, so codegen field order is deterministic at build
time but any runtime serde_json::Map iteration falls back to BTreeMap
sort. Match taurpc-macros and the workspace baseline.
@johncarmack1984 johncarmack1984 merged commit c336d6a into main May 5, 2026
1 check passed
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

Successfully merging this pull request may close these issues.

1 participant