Cargo Features

[dependencies]
ecies-ed25519-morus = { version = "0.2.0", default-features = false, features = ["std", "aarch64-optimizations", "pure"] }
default = std

The std feature is set by default whenever ecies-ed25519-morus is added without default-features = false somewhere in the dependency tree.

std default

Enables std of blake3, ed25519-dalek, hex, rand_core, thiserror-no-std, and zeroize

blake3:

This crate uses libstd for std::io trait implementations, and also for runtime CPU feature detection. This feature is enabled by default. If you use --no-default-features, the only way to use the SIMD implementations in this
crate is to enable the corresponding instruction sets statically for the entire build, with e.g. RUSTFLAGS="-C target-cpu=native".

aarch64-optimizations

Enables aarch64 of zeroize and neon of blake3

blake3:

The NEON implementation does not participate in dynamic feature detection,
which is currently x86-only. If "neon" is on, NEON support is assumed. Note that AArch64 always supports NEON, but support on ARMv7 varies. The NEON implementation uses C intrinsics and requires a C compiler.

pure

Enables pure of blake3

blake3:

By default on x86_64, this crate uses Samuel Neves' hand-written assembly implementations for SSE4.1, AVX2, and AVX512. (These provide both the best runtime performance, and the fastest build times.) And by default on 32-bit x86, this crate uses Rust intrinsics implementations for SSE4.1 and AVX2, and a C intrinsics implementation for AVX-512. In both cases, if a C compiler is not detected, or if AVX-512 support is missing from the detected compiler,
build.rs automatically falls back to a pure Rust build. This feature forces that fallback, for testing purposes. (Note that in CI testing, we set the BLAKE3_CI environment variable, which instructs build.rs to error out rather than doing an automatic fallback.)

ecies-ed25519-morus has 4 features without comments.