Closed capickett closed 4 months ago
I pre-emptively opened this by accident.
Thanks for the PR! In theory the proc-macro behavior should be deterministic. Otherwise it's a bug. The only non-deterministic aspect I can see is the error message for unexpected keys, where the unexpected keys are listed in a non-deterministic order. This can be fixed if it is an issue.
At Meta, we use buck to build our rust code. However, in order to be efficient with caching, buck requires that compilations are deterministic. Using HashMap by default results in non-deterministic output as the iteration order changes between invocations.
BTreeMap here is the quickest zero-new-dependency approach. Other options might be: