ruint 1.12.3

Unsigned integer type with const-generic bit length
Documentation
[package]
name = "ruint"
description = "Unsigned integer type with const-generic bit length"
version = "1.12.3"
keywords = ["uint"]
categories = ["mathematics"]
include = [".cargo/", "src/", "README.md"]
readme = "README.md"

edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", ".cargo/katex-header.html"]

[workspace]
members = [".", "ruint-macro"]
resolver = "2"

[workspace.package]
edition = "2021"
rust-version = "1.65"
authors = ["Remco Bloemen <remco@wicked.ventures>"]
license = "MIT"
homepage = "https://github.com/recmo/uint"
repository = "https://github.com/recmo/uint"

[[bench]]
name = "bench_uint"
harness = false
path = "benches/bench.rs"
required-features = ["std"]

[dependencies]
ruint-macro = { version = "1.2.1", path = "ruint-macro" }

thiserror = { version = "1.0", optional = true }

# support
alloy-rlp = { version = "0.3", optional = true, default-features = false }
arbitrary = { version = "1", optional = true, default-features = false }
ark-ff-03 = { version = "0.3.0", package = "ark-ff", optional = true, default-features = false }
ark-ff-04 = { version = "0.4.0", package = "ark-ff", optional = true, default-features = false }
bn-rs = { version = "0.2", optional = true, default-features = true }
fastrlp = { version = "0.3", optional = true, default-features = false, features = ["alloc"] }
num-bigint = { version = "0.4", optional = true, default-features = false }
num-traits = { version = "0.2.16", optional = true, default-features = false }
parity-scale-codec = { version = "3", optional = true, features = [
    "derive",
    "max-encoded-len",
], default-features = false }
primitive-types = { version = "0.12", optional = true, default-features = false }
proptest = { version = "1.2", optional = true, default-features = false }
pyo3 = { version = "0.19", optional = true, default-features = false }
quickcheck = { version = "1", optional = true, default-features = false }
rand = { version = "0.8", optional = true, default-features = false }
rlp = { version = "0.5", optional = true, default-features = false }
serde = { version = "1", optional = true, default-features = false }
valuable = { version = "0.1", optional = true, default-features = false }
zeroize = { version = "1.6", optional = true, default-features = false }
bytemuck = { version = "1.13.1", optional = true, default-features = false }
ethereum_ssz = { version = "0.5.3", optional = true, default-features = false }

# postgres
bytes = { version = "1.4", optional = true }
postgres-types = { version = "0.2", optional = true }

# sqlx
sqlx-core = { version = "0.7", optional = true }

[dev-dependencies]
ruint = { path = ".", features = ["arbitrary", "proptest"] }

ark-bn254-03 = { version = "0.3.0", package = "ark-bn254" }
ark-bn254-04 = { version = "0.4.0", package = "ark-bn254" }

criterion = "0.5"
rand = "0.8"

approx = "0.5"
bincode = "1.3"
hex = "0.4"
hex-literal = "0.4"
postgres = "0.19"
proptest = "1.2"
serde_json = "1.0"

[features]
default = ["std"]
std = [
    "alloc",
    "alloy-rlp?/std",
    "ark-ff-03?/std",
    "ark-ff-04?/std",
    "bytes?/std",
    "fastrlp?/std",
    "num-bigint?/std",
    "num-traits?/std",
    "parity-scale-codec?/std",
    "primitive-types?/std",
    "proptest?/std",
    "rand?/std",
    "rlp?/std",
    "serde?/std",
    "valuable?/std",
    "zeroize?/std",
]
ssz = ["std", "dep:ethereum_ssz"]
alloc = ["proptest?/alloc", "rand?/alloc", "serde?/alloc", "valuable?/alloc", "zeroize?/alloc"]

# nightly-only features
nightly = []
generic_const_exprs = ["nightly"]

# support
alloy-rlp = ["dep:alloy-rlp", "alloc"]
arbitrary = ["dep:arbitrary", "std"]
ark-ff = ["dep:ark-ff-03"]
ark-ff-04 = ["dep:ark-ff-04"]
bn-rs = ["dep:bn-rs", "std"]
fastrlp = ["dep:fastrlp", "alloc"]
num-bigint = ["dep:num-bigint", "alloc"]
num-traits = ["dep:num-traits", "alloc"]
parity-scale-codec = ["dep:parity-scale-codec", "alloc"]
primitive-types = ["dep:primitive-types"]
proptest = ["dep:proptest", "std"] # TODO: change to "alloc" on the next proptest release (>1.2.0)
pyo3 = ["dep:pyo3", "std"]
quickcheck = ["dep:quickcheck", "std"]
rand = ["dep:rand"]
rlp = ["dep:rlp", "alloc"]
serde = ["dep:serde", "alloc"] # TODO: try to avoid alloc in serde impls
valuable = ["dep:valuable"]
zeroize = ["dep:zeroize"]
bytemuck = ["dep:bytemuck"]

postgres = ["dep:postgres-types", "dep:bytes", "std", "dep:thiserror"]
sqlx = ["dep:sqlx-core", "std", "dep:thiserror"]