Add clippy::disallowed_types for std::collections::HashMap scoped to the simulation crate. Replace HashMap with BTreeMap in movement.rs for deterministic iteration order. Allow exception in perception/query.rs where iteration order is irrelevant (per-frame scratch buffer). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
10 lines
588 B
TOML
10 lines
588 B
TOML
# Clippy configuration for settled-reach-server
|
|
# Enforces determinism-safe collection types in simulation code (D-030).
|
|
|
|
# Ban std::collections::HashMap — non-deterministic iteration order breaks replay.
|
|
# Use BTreeMap (ordered by key) or IndexMap (insertion-ordered) instead.
|
|
disallowed-types = [
|
|
{ path = "std::collections::HashMap", reason = "HashMap iteration order is non-deterministic. Use BTreeMap or IndexMap for deterministic simulation." },
|
|
{ path = "std::collections::HashSet", reason = "HashSet iteration order is non-deterministic. Use BTreeSet or IndexSet." },
|
|
]
|