indexmap-nostd

A no_std compatible [indexmap crate] (re)implementation.

Note: The [indexmap crate] already supports to be compiled in no_std environments and it uses [hashbrown crate]'s HashMap under the hood which still requires some sort of randomized initialization. However, some embedded platforms simply cannot provide ways to randomly seed hash maps and similar data structures making code that depends on it susceptible to users (or attackers) that control inputs to those hash maps.

Therefore indexmap-nostd is a (re)implementation of the [indexmap crate] that replaces the internal use of HashMap with BTreeMap.

Advantages

This crate and its data structures can be used in any embedded no_std environment without the need to provide random seeds for HashMap initialization.

Disadvantages