Determinism
All Turbo-Engine functions must be pure and deterministic. This means one should avoid using global state, static mutable values, randomness, or any other non-deterministic operations.
A notable mention is HashMap
and HashSet
. The order of iteration is not guaranteed and can change between runs. This can lead to non-deterministic builds.
Prefer IndexMap
and IndexSet
(or BTreeMap
and BTreeSet
) which have a deterministic order.