[package] name = "slitter" version = "0.1.0" edition = "2018" license = "MIT" description = "A C- and Rust-callable slab allocator with a focus on safety" repository = "https://github.com/backtrace-labs/slitter" [features] default = ["check_contracts_in_tests", "c_fast_path"] c_fast_path = [] # Use C, and not Rust, for the fast path. check_contracts_in_tests = [] # Enable contract checking for cfg(test). check_contracts = ["contracts"] # Enable contract checking. test_only_small_constants = [] # Shrink constants to cover more conditions. [dependencies] contracts = { version = "0.6", optional = true } disabled_contracts = "0.1" lazy_static = "1" static_assertions = "1.1" tempfile = "3" [build-dependencies] cc = "1" [dev-dependencies] contracts = { version = "0.6" } # Only used in tests. proptest = "1" # Run with `PROPTEST_FORK=true cargo test`, otherwise # global state fills up and slows down debug checks. # Also `--features='test_only_small_constants'` to help # exercise more edge cases. [package.metadata.x] # `cargo install cargo-x`, then `cargo x test`, etc. test = "PROPTEST_FORK=true cargo test" test_opt = "PROPTEST_FORK=true cargo test --release" test_release = "PROPTEST_FORK=true cargo test --release --no-default-features --features='c_fast_path'" test_small_constants = "PROPTEST_FORK=true cargo test --features='test_only_small_constants'"