Cargo Features

mpi = { version = "0.7.0", default-features = false, features = ["user-operations", "derive", "complex"] }
default = user-operations

The user-operations feature is set by default whenever mpi is added without default-features = false somewhere in the dependency tree.

user-operations default = libffi

Affects collective::UserOperation

derive = memoffset, mpi-derive

Affects datatype::internal.check_derive_equivalence_universe_state

complex = num-complex

Affects datatype::complex_datatype

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

libffi user-operations
memoffset derive?

Enables memoffset

used by complex_datatype, which does not use "derive" feature

mpi-derive derive?
num-complex complex?