[package]
edition = "2024"
rust-version = "1.90.0"
name = "bincode-next"
version = "3.1.1"
authors = [
"Xinyu Yang <xinyu.yang@apich.org>",
"Ty Overby <ty@pre-alpha.com>",
"Zoey Riordan <zoey@dos.cafe>",
"Victor Koenders <bincode@trangar.com>",
"The bincode-next & bincode developers",
]
build = "build.rs"
exclude = [
"complex_world_decode/*",
"complex_world_encode/*",
"vec_u64_fixint_native_decode/*",
"vec_u64_large_varint_decode/*",
"vec_u64_small_varint_decode/*",
"vec_u8_bulk_decode/*",
"report/*",
"index.html",
"fuzz/*",
"CNAME",
"Cargo.lock",
"Bench Results of bincode-next.md",
"examples/*",
".gitignore",
".github/",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A compact, ultra-fast binary serialization format for Rust, optimized for networking and storage!"
documentation = "https://docs.rs/bincode_next"
readme = "README.md"
keywords = [
"binary",
"serialization",
"serde",
"encoding",
"performance",
]
categories = [
"encoding",
"data-structures",
"no-std",
]
license = "MIT or Apache-2.0"
repository = "https://github.com/Apich-Organization/bincode"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = ["serde?/alloc"]
async-fiber = [
"dep:futures-io",
"dep:libc",
"std",
]
default = [
"std",
"derive",
"simd",
]
derive = ["dep:bincode_derive-next"]
full = [
"default",
"std",
"alloc",
"derive",
"serde",
"simd",
"zero-copy",
"static-size",
"async-fiber",
"tokio",
]
fuzzing = [
"dep:arbitrary",
"zero-copy",
]
hw-acceleration = ["simd"]
serde = ["dep:serde"]
simd = []
static-size = ["bincode_derive-next?/static-size"]
std = [
"alloc",
"serde?/std",
]
tokio = [
"dep:tokio",
"async-fiber",
]
zero-copy = ["bincode_derive-next?/zero-copy"]
[lib]
name = "bincode_next"
crate-type = ["rlib"]
path = "src/lib.rs"
[[test]]
name = "alloc"
path = "tests/alloc.rs"
[[test]]
name = "async_fiber"
path = "tests/async_fiber.rs"
[[test]]
name = "async_fiber_loom"
path = "tests/async_fiber_loom.rs"
[[test]]
name = "async_fiber_proptest"
path = "tests/async_fiber_proptest.rs"
[[test]]
name = "async_fiber_safety"
path = "tests/async_fiber_safety.rs"
[[test]]
name = "atomic"
path = "tests/atomic.rs"
[[test]]
name = "basic_types"
path = "tests/basic_types.rs"
[[test]]
name = "bit_packed"
path = "tests/bit_packed.rs"
[[test]]
name = "bit_width_verification"
path = "tests/bit_width_verification.rs"
[[test]]
name = "cbor"
path = "tests/cbor.rs"
[[test]]
name = "context"
path = "tests/context.rs"
[[test]]
name = "derive"
path = "tests/derive.rs"
[[test]]
name = "derive_complex"
path = "tests/derive_complex.rs"
[[test]]
name = "derive_rename"
path = "tests/derive_rename.rs"
[[test]]
name = "deterministic_encoding"
path = "tests/deterministic_encoding.rs"
[[test]]
name = "enum_bit_packed"
path = "tests/enum_bit_packed.rs"
[[test]]
name = "error_path"
path = "tests/error_path.rs"
[[test]]
name = "error_size"
path = "tests/error_size.rs"
[[test]]
name = "fingerprint"
path = "tests/fingerprint.rs"
[[test]]
name = "high_concurrency"
path = "tests/high_concurrency.rs"
[[test]]
name = "issue_deserialize_any"
path = "tests/issue_deserialize_any.rs"
[[test]]
name = "issues"
path = "tests/issues.rs"
[[test]]
name = "optional_bit_packing"
path = "tests/optional_bit_packing.rs"
[[test]]
name = "proptest_bitpacked"
path = "tests/proptest_bitpacked.rs"
[[test]]
name = "proptest_roundtrip"
path = "tests/proptest_roundtrip.rs"
[[test]]
name = "relative_ptr"
path = "tests/relative_ptr.rs"
[[test]]
name = "repr_check"
path = "tests/repr_check.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[[test]]
name = "static_size"
path = "tests/static_size.rs"
[[test]]
name = "std"
path = "tests/std.rs"
[[test]]
name = "utils"
path = "tests/utils.rs"
[[test]]
name = "zerocopy_enum"
path = "tests/zerocopy_enum.rs"
[[bench]]
name = "async_fiber"
path = "benches/async_fiber.rs"
harness = false
required-features = ["async-fiber"]
[[bench]]
name = "cbor_comparison"
path = "benches/cbor_comparison.rs"
harness = false
[[bench]]
name = "codec_concurrency"
path = "benches/codec_concurrency.rs"
harness = false
required-features = ["async-fiber"]
[[bench]]
name = "complex"
path = "benches/complex.rs"
harness = false
[[bench]]
name = "concurrency"
path = "benches/concurrency.rs"
harness = false
[[bench]]
name = "extreme_perf"
path = "benches/extreme_perf.rs"
harness = false
[[bench]]
name = "inline"
path = "benches/inline.rs"
harness = false
[[bench]]
name = "postcard_comparison"
path = "benches/postcard_comparison.rs"
harness = false
[[bench]]
name = "relative_ptr_bench"
path = "benches/relative_ptr_bench.rs"
harness = false
required-features = ["zero-copy"]
[[bench]]
name = "string"
path = "benches/string.rs"
harness = false
[[bench]]
name = "varint"
path = "benches/varint.rs"
harness = false
[dependencies.arbitrary]
version = "1.3"
optional = true
[dependencies.bincode_derive-next]
version = "3.1.1"
optional = true
[dependencies.futures-io]
version = "0.3"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.pastey]
version = "0.2"
[dependencies.rapidhash]
version = "4.4"
default-features = false
[dependencies.serde]
version = "1.0"
optional = true
default-features = false
[dependencies.tokio]
version = "1.50"
optional = true
default-features = false
[dependencies.unty]
version = "0.1.2"
package = "unty-next"
[dev-dependencies.async-bincode]
version = "0.8"
[dev-dependencies.bincode_1]
version = "1.3"
package = "bincode"
[dev-dependencies.bincode_v2]
version = "2.0.0-rc.3"
features = ["serde"]
package = "bincode"
[dev-dependencies.bumpalo]
version = "3.16"
features = ["collections"]
[dev-dependencies.cbor4ii]
version = "1.2"
features = ["serde1"]
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.criterion]
version = "0.8"
features = ["async_tokio"]
[dev-dependencies.dtact]
version = "0.2"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.glam]
version = "0.33"
features = ["serde"]
[dev-dependencies.loom]
version = "0.7"
[dev-dependencies.minicbor]
version = "2.2"
features = [
"derive",
"alloc",
]
[dev-dependencies.ouroboros]
version = "0.18"
[dev-dependencies.postcard]
version = "1.1"
features = [
"alloc",
"use-std",
]
[dev-dependencies.proptest]
version = "1.10"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_derive]
version = "1.0"
[dev-dependencies.serde_json]
version = "1.0"
default-features = false
[dev-dependencies.tempfile]
version = "3.2"
[dev-dependencies.tokio]
version = "1.50"
features = [
"rt",
"macros",
"rt-multi-thread",
"io-util",
"fs",
]
[dev-dependencies.uuid]
version = "1.1"
features = ["serde"]
[lints.clippy]
empty-line-after-doc-comments = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(loom)"]
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 1
debug-assertions = false
overflow-checks = false
incremental = true
strip = true
[profile.dev]
opt-level = 0
lto = false
debug = 2
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
panic = "abort"
overflow-checks = false
incremental = true
strip = true