Cargo Features

[dependencies]
graph_safe_compare = { version = "0.2.1", default-features = false, features = ["std", "alloc", "wyrng", "anticipate", "fastrand", "oorandom"] }
default = std, wyrng

These default features are set whenever graph_safe_compare is added without default-features = false somewhere in the dependency tree.

std default = alloc

Affects graph_safe_compare::robust, random::fastrand, equiv_classes::premade

alloc std

Affects graph_safe_compare::deep_safe, graph_safe_compare::wide_safe, equiv_classes::premade

wyrng default = wyhash

Affects random::wyrng

anticipate

Causes breaking changes, to use different Rust features.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

fastrand implicit feature

Enables fastrand ^1

Your choice of (pseudo)random-number generator. If your project is already using one, you could choose that same one, to have only a single (P)RNG dependency. It is easy to use one that was not already here, if you want, either, by adding a module to src/cycle_safe/modes/interleave/random/mod.rs (which allows using it as the default with the premade functionality), or by directly giving your own type as argument for the generic parameter (e.g. see tests/custom.rs). Enabling multiple is allowed (but unusual) but only one will be the default (based on hard-coded priority).

Affects random::fastrand

oorandom implicit feature

Enables oorandom

The below support no_std and are configured as such here.

Affects random::oorandom

wyhash wyrng