mpi 0.8.2

Message Passing Interface bindings for Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.78"
name = "mpi"
version = "0.8.2"
authors = [
    "Benedikt Steinbusch <ben@rockshrub.de>",
    "Andrew Gaspar <andrew.gaspar@outlook.com>",
    "Jed Brown <jed@jedbrown.org>",
]
build = "build.rs"
exclude = [
    ".github/",
    "ci/*.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Message Passing Interface bindings for Rust"
homepage = "https://github.com/rsmpi/rsmpi"
documentation = "https://docs.rs/mpi"
readme = "README.md"
keywords = [
    "message-passing",
    "parallel",
]
categories = ["concurrency"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rsmpi/rsmpi"

[package.metadata.release]
tag-name = "{{crate_name}}-{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "README.md"
search = 'version = "[0-9.]*"'
replace = 'version = "{{version}}"'

[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
search = 'mpi = "[0-9.]*"'
replace = 'mpi = "{{version}}"'

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "`main` branch"
replace = "{{version}} ({{date}})"

[package.metadata.docs.rs]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]

[features]
complex = ["dep:num-complex"]
default = ["user-operations"]
derive = ["mpi-derive"]
user-operations = ["libffi"]

[lib]
name = "mpi"
path = "src/lib.rs"

[[example]]
name = "all_gather"
path = "examples/all_gather.rs"

[[example]]
name = "all_gather_bool"
path = "examples/all_gather_bool.rs"

[[example]]
name = "all_gather_varcount"
path = "examples/all_gather_varcount.rs"

[[example]]
name = "all_to_all"
path = "examples/all_to_all.rs"

[[example]]
name = "attributes"
path = "examples/attributes.rs"

[[example]]
name = "barrier"
path = "examples/barrier.rs"

[[example]]
name = "broadcast"
path = "examples/broadcast.rs"

[[example]]
name = "buffered"
path = "examples/buffered.rs"

[[example]]
name = "cartesian"
path = "examples/cartesian.rs"

[[example]]
name = "cartesian_map"
path = "examples/cartesian_map.rs"

[[example]]
name = "comm_name"
path = "examples/comm_name.rs"

[[example]]
name = "complex_datatype"
path = "examples/complex_datatype.rs"

[[example]]
name = "complex_numbers"
path = "examples/complex_numbers.rs"
doc-scrape-examples = true
required-features = ["complex"]

[[example]]
name = "contiguous"
path = "examples/contiguous.rs"

[[example]]
name = "datatype_dup"
path = "examples/datatype_dup.rs"

[[example]]
name = "derive_multiple_thread_init"
path = "examples/derive_multiple_thread_init.rs"
required-features = ["derive"]

[[example]]
name = "derive_nonthreaded_panic"
path = "examples/derive_nonthreaded_panic.rs"
required-features = ["derive"]

[[example]]
name = "derive_postfinalize_panic"
path = "examples/derive_postfinalize_panic.rs"
required-features = ["derive"]

[[example]]
name = "derive_preinit_panic"
path = "examples/derive_preinit_panic.rs"
required-features = ["derive"]

[[example]]
name = "duplicate"
path = "examples/duplicate.rs"

[[example]]
name = "dyn_communicator"
path = "examples/dyn_communicator.rs"

[[example]]
name = "env_inq"
path = "examples/env_inq.rs"

[[example]]
name = "gather"
path = "examples/gather.rs"

[[example]]
name = "gather_varcount"
path = "examples/gather_varcount.rs"

[[example]]
name = "group"
path = "examples/group.rs"

[[example]]
name = "immediate"
path = "examples/immediate.rs"

[[example]]
name = "immediate_all_gather"
path = "examples/immediate_all_gather.rs"

[[example]]
name = "immediate_all_gather_varcount"
path = "examples/immediate_all_gather_varcount.rs"

[[example]]
name = "immediate_all_to_all"
path = "examples/immediate_all_to_all.rs"

[[example]]
name = "immediate_barrier"
path = "examples/immediate_barrier.rs"

[[example]]
name = "immediate_broadcast"
path = "examples/immediate_broadcast.rs"

[[example]]
name = "immediate_gather"
path = "examples/immediate_gather.rs"

[[example]]
name = "immediate_gather_varcount"
path = "examples/immediate_gather_varcount.rs"

[[example]]
name = "immediate_multiple_barrier"
path = "examples/immediate_multiple_barrier.rs"

[[example]]
name = "immediate_multiple_requests"
path = "examples/immediate_multiple_requests.rs"

[[example]]
name = "immediate_multiple_test"
path = "examples/immediate_multiple_test.rs"

[[example]]
name = "immediate_reduce"
path = "examples/immediate_reduce.rs"

[[example]]
name = "immediate_scan"
path = "examples/immediate_scan.rs"

[[example]]
name = "immediate_scatter"
path = "examples/immediate_scatter.rs"

[[example]]
name = "immediate_scatter_varcount"
path = "examples/immediate_scatter_varcount.rs"

[[example]]
name = "init_with_threading"
path = "examples/init_with_threading.rs"

[[example]]
name = "pack"
path = "examples/pack.rs"

[[example]]
name = "readme"
path = "examples/readme.rs"

[[example]]
name = "ready_send"
path = "examples/ready_send.rs"

[[example]]
name = "reduce"
path = "examples/reduce.rs"

[[example]]
name = "scan"
path = "examples/scan.rs"

[[example]]
name = "scatter"
path = "examples/scatter.rs"

[[example]]
name = "scatter_varcount"
path = "examples/scatter_varcount.rs"

[[example]]
name = "send_receive"
path = "examples/send_receive.rs"

[[example]]
name = "simple"
path = "examples/simple.rs"

[[example]]
name = "spawn"
path = "examples/spawn.rs"

[[example]]
name = "spawn_multiple"
path = "examples/spawn_multiple.rs"

[[example]]
name = "split"
path = "examples/split.rs"

[[example]]
name = "struct"
path = "examples/struct.rs"
required-features = ["derive"]

[[example]]
name = "structured"
path = "examples/structured.rs"

[[example]]
name = "time"
path = "examples/time.rs"

[[example]]
name = "vector"
path = "examples/vector.rs"

[[example]]
name = "wait_any"
path = "examples/wait_any.rs"

[[test]]
name = "derive_tests"
path = "tests/derive_tests.rs"

[[test]]
name = "trait_object_safety_test"
path = "tests/trait_object_safety_test.rs"

[dependencies.conv]
version = "0.3.3"

[dependencies.libffi]
version = "5.1.1"
optional = true

[dependencies.mpi-derive]
version = "0.1.4"
optional = true

[dependencies.mpi-sys]
version = "0.2.4"

[dependencies.num-complex]
version = "0.4.6"
optional = true

[dependencies.once_cell]
version = "1.21"

[dependencies.smallvec]
version = "1.15.2"

[dependencies.thiserror]
version = "2.0.18"

[build-dependencies.build-probe-mpi]
version = "0.1.6"