[package]
edition = "2024"
name = "id_effect"
version = "0.4.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Effect<A, E, R> (sync + async), capability DI, pipe — interpreter-style, no bundled executor"
readme = "README.md"
license = "CC-BY-SA-4.0"
repository = "https://github.com/Industrial/id_effect"
resolver = "2"
[features]
algebra = []
proptest = ["dep:proptest"]
schema-serde = ["dep:serde_json"]
[lib]
name = "id_effect"
path = "src/lib.rs"
[[example]]
name = "001_effect_value"
path = "examples/001_effect_value.rs"
[[example]]
name = "002_fail_boundary"
path = "examples/002_fail_boundary.rs"
[[example]]
name = "003_map"
path = "examples/003_map.rs"
[[example]]
name = "004_flat_map"
path = "examples/004_flat_map.rs"
[[example]]
name = "005_pipe"
path = "examples/005_pipe.rs"
[[example]]
name = "006_effect_macro_binds"
path = "examples/006_effect_macro_binds.rs"
[[example]]
name = "007_effect_macro_discard"
path = "examples/007_effect_macro_discard.rs"
[[example]]
name = "008_effect_macro_env"
path = "examples/008_effect_macro_env.rs"
[[example]]
name = "009_result_into_bind"
path = "examples/009_result_into_bind.rs"
[[example]]
name = "010_one_effect_macro_per_fn"
path = "examples/010_one_effect_macro_per_fn.rs"
[[example]]
name = "011_map_error"
path = "examples/011_map_error.rs"
[[example]]
name = "012_catch"
path = "examples/012_catch.rs"
[[example]]
name = "013_fail_into"
path = "examples/013_fail_into.rs"
[[example]]
name = "014_err_macro"
path = "examples/014_err_macro.rs"
[[example]]
name = "015_or_variants"
path = "examples/015_or_variants.rs"
[[example]]
name = "016_flat_map_union"
path = "examples/016_flat_map_union.rs"
[[example]]
name = "017_cause_optional"
path = "examples/017_cause_optional.rs"
[[example]]
name = "018_exit_type"
path = "examples/018_exit_type.rs"
[[example]]
name = "037_from_async_basic"
path = "examples/037_from_async_basic.rs"
[[example]]
name = "038_from_async_map_err"
path = "examples/038_from_async_map_err.rs"
[[example]]
name = "039_run_async"
path = "examples/039_run_async.rs"
[[example]]
name = "040_capability_app"
path = "examples/040_capability_app.rs"
[[example]]
name = "040_runtime_trait"
path = "examples/040_runtime_trait.rs"
[[example]]
name = "041_scoped_config_provider"
path = "examples/041_scoped_config_provider.rs"
[[example]]
name = "041_thread_sleep_runtime"
path = "examples/041_thread_sleep_runtime.rs"
[[example]]
name = "042_effectful_config_provider"
path = "examples/042_effectful_config_provider.rs"
[[example]]
name = "043_named_variant_providers"
path = "examples/043_named_variant_providers.rs"
[[example]]
name = "044_cancellation_tree"
path = "examples/044_cancellation_tree.rs"
[[example]]
name = "045_check_interrupt"
path = "examples/045_check_interrupt.rs"
[[example]]
name = "046_cancelled_waits"
path = "examples/046_cancelled_waits.rs"
[[example]]
name = "047_fiber_handle"
path = "examples/047_fiber_handle.rs"
[[example]]
name = "048_run_fork_join"
path = "examples/048_run_fork_join.rs"
[[example]]
name = "049_fiber_all"
path = "examples/049_fiber_all.rs"
[[example]]
name = "050_interrupt_all"
path = "examples/050_interrupt_all.rs"
[[example]]
name = "051_fiber_ref"
path = "examples/051_fiber_ref.rs"
[[example]]
name = "052_schedule_repeat_n"
path = "examples/052_schedule_repeat_n.rs"
[[example]]
name = "053_schedule_repeat"
path = "examples/053_schedule_repeat.rs"
[[example]]
name = "054_schedule_retry"
path = "examples/054_schedule_retry.rs"
[[example]]
name = "055_schedule_exhausted"
path = "examples/055_schedule_exhausted.rs"
[[example]]
name = "056_test_clock"
path = "examples/056_test_clock.rs"
[[example]]
name = "057_repeat_with_clock"
path = "examples/057_repeat_with_clock.rs"
[[example]]
name = "058_retry_with_clock"
path = "examples/058_retry_with_clock.rs"
[[example]]
name = "059_schedule_interrupt"
path = "examples/059_schedule_interrupt.rs"
[[example]]
name = "060_stream_range"
path = "examples/060_stream_range.rs"
[[example]]
name = "061_stream_from_iterable"
path = "examples/061_stream_from_iterable.rs"
[[example]]
name = "062_stream_map_filter"
path = "examples/062_stream_map_filter.rs"
[[example]]
name = "063_stream_take_drop"
path = "examples/063_stream_take_drop.rs"
[[example]]
name = "064_stream_scan"
path = "examples/064_stream_scan.rs"
[[example]]
name = "065_stream_grouped"
path = "examples/065_stream_grouped.rs"
[[example]]
name = "066_stream_collect_fold"
path = "examples/066_stream_collect_fold.rs"
[[example]]
name = "067_stream_unfold"
path = "examples/067_stream_unfold.rs"
[[example]]
name = "068_stream_from_effect"
path = "examples/068_stream_from_effect.rs"
[[example]]
name = "069_stream_map_effect"
path = "examples/069_stream_map_effect.rs"
[[example]]
name = "070_stream_map_par_n"
path = "examples/070_stream_map_par_n.rs"
[[example]]
name = "071_stream_broadcast"
path = "examples/071_stream_broadcast.rs"
[[example]]
name = "071_stream_map_serial"
path = "examples/071_stream_map_serial.rs"
[[example]]
name = "072_stream_channel"
path = "examples/072_stream_channel.rs"
[[example]]
name = "073_stream_producer_fail"
path = "examples/073_stream_producer_fail.rs"
[[example]]
name = "074_stream_channel_policy"
path = "examples/074_stream_channel_policy.rs"
[[example]]
name = "075_backpressure_decision"
path = "examples/075_backpressure_decision.rs"
[[example]]
name = "076_stream_duplex_queue"
path = "examples/076_stream_duplex_queue.rs"
[[example]]
name = "077_stm_tref"
path = "examples/077_stm_tref.rs"
[[example]]
name = "078_stm_atomically"
path = "examples/078_stm_atomically.rs"
[[example]]
name = "079_stm_contention"
path = "examples/079_stm_contention.rs"
[[example]]
name = "080_stm_tmap"
path = "examples/080_stm_tmap.rs"
[[example]]
name = "081_stm_tqueue"
path = "examples/081_stm_tqueue.rs"
[[example]]
name = "082_stm_tsemaphore"
path = "examples/082_stm_tsemaphore.rs"
[[example]]
name = "083_schema_primitive"
path = "examples/083_schema_primitive.rs"
[[example]]
name = "084_schema_compose"
path = "examples/084_schema_compose.rs"
[[example]]
name = "085_unknown_decode"
path = "examples/085_unknown_decode.rs"
[[example]]
name = "086_parse_error_paths"
path = "examples/086_parse_error_paths.rs"
[[example]]
name = "087_effect_data"
path = "examples/087_effect_data.rs"
[[example]]
name = "088_brand_equal_hash"
path = "examples/088_brand_equal_hash.rs"
[[example]]
name = "089_ensuring"
path = "examples/089_ensuring.rs"
[[example]]
name = "090_acquire_release"
path = "examples/090_acquire_release.rs"
[[example]]
name = "090_algebra_foldable"
path = "examples/090_algebra_foldable.rs"
[[example]]
name = "091_algebra_traversable"
path = "examples/091_algebra_traversable.rs"
[[example]]
name = "091_scope_with"
path = "examples/091_scope_with.rs"
[[example]]
name = "092_algebra_bifold"
path = "examples/092_algebra_bifold.rs"
[[example]]
name = "092_scoped"
path = "examples/092_scoped.rs"
[[example]]
name = "093_tracing_install"
path = "examples/093_tracing_install.rs"
[[example]]
name = "094_tracing_spans"
path = "examples/094_tracing_spans.rs"
[[example]]
name = "095_tracing_events"
path = "examples/095_tracing_events.rs"
[[example]]
name = "096_tracing_snapshot"
path = "examples/096_tracing_snapshot.rs"
[[example]]
name = "097_run_test"
path = "examples/097_run_test.rs"
[[example]]
name = "098_run_test_clock_hygiene"
path = "examples/098_run_test_clock_hygiene.rs"
[[example]]
name = "099_snapshot_corpus"
path = "examples/099_snapshot_corpus.rs"
[[example]]
name = "100_channel_queue"
path = "examples/100_channel_queue.rs"
[[example]]
name = "101_pubsub"
path = "examples/101_pubsub.rs"
[[example]]
name = "102_semaphore"
path = "examples/102_semaphore.rs"
[[example]]
name = "103_pool"
path = "examples/103_pool.rs"
[[example]]
name = "104_cache"
path = "examples/104_cache.rs"
[[example]]
name = "105_match_matcher"
path = "examples/105_match_matcher.rs"
[[example]]
name = "120_compute_fabric_memory_cap"
path = "examples/120_compute_fabric_memory_cap.rs"
[[example]]
name = "121_compute_fabric_cpu_spread"
path = "examples/121_compute_fabric_cpu_spread.rs"
[[example]]
name = "122_compute_fabric_effect_parallel"
path = "examples/122_compute_fabric_effect_parallel.rs"
[[example]]
name = "123_compute_fabric_cluster"
path = "examples/123_compute_fabric_cluster.rs"
[[test]]
name = "cap_project_compose"
path = "tests/cap_project_compose.rs"
[[test]]
name = "cap_project_proptest"
path = "tests/cap_project_proptest.rs"
[[test]]
name = "cap_set_high_arity"
path = "tests/cap_set_high_arity.rs"
[[test]]
name = "cap_set_project_all"
path = "tests/cap_set_project_all.rs"
[[test]]
name = "coverage_gate_boost"
path = "tests/coverage_gate_boost.rs"
[[test]]
name = "coverage_gate_v3"
path = "tests/coverage_gate_v3.rs"
[[test]]
name = "effect_graph_parallel"
path = "tests/effect_graph_parallel.rs"
[[test]]
name = "effect_graph_typed_dependency"
path = "tests/effect_graph_typed_dependency.rs"
[[test]]
name = "effect_macro_coverage"
path = "tests/effect_macro_coverage.rs"
[[test]]
name = "graph_proptest"
path = "tests/graph_proptest.rs"
[[test]]
name = "match_effect_coverage"
path = "tests/match_effect_coverage.rs"
[[test]]
name = "parallel_dispatch_coverage"
path = "tests/parallel_dispatch_coverage.rs"
[[test]]
name = "stream_ops_coverage"
path = "tests/stream_ops_coverage.rs"
[[test]]
name = "ui_compile_fail"
path = "tests/ui_compile_fail.rs"
[[bench]]
name = "effect_macro_bind_free"
path = "benches/effect_macro_bind_free.rs"
harness = false
[[bench]]
name = "env_lookup"
path = "benches/env_lookup.rs"
harness = false
[[bench]]
name = "phase0_baseline"
path = "benches/phase0_baseline.rs"
harness = false
[dependencies.flume]
version = "0.12"
[dependencies.futures]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.id_effect_macro]
version = "0.4.0"
[dependencies.id_effect_proc_macro]
version = "0.4.0"
[dependencies.im]
version = "15"
[dependencies.jiff]
version = "0.2.23"
[dependencies.proptest]
version = "1"
optional = true
[dependencies.rayon]
version = "1.12"
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sysinfo]
version = "0.33"
[dependencies.tokio]
version = "1.50.0"
features = [
"macros",
"rt",
"time",
"sync",
]
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.pollster]
version = "0.4"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.tokio]
version = "1.50.0"
features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
"time",
]
[dev-dependencies.trybuild]
version = "1"
[lints.rust]
unsafe_code = "forbid"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(coverage)",
'cfg(feature, values("mock"))',
]