arbitrary-int 2.2.0

Modern and lightweight implementation of u2, u3, u4, ..., u127.
Documentation
[package]
name = "arbitrary-int"
version = "2.2.0"
edition = "2021"
rust-version = "1.83"
authors = ["Daniel Lehmann <danlehmannmuc@gmail.com>"]
description = "Modern and lightweight implementation of u2, u3, u4, ..., u127."
license = "MIT"
repository = "https://github.com/danlehmann/arbitrary-int"
readme = "README.md"
keywords = ["integer", "unaligned", "misaligned"]
categories = ["embedded", "no-std", "data-structures"]

[workspace]
members = ["fuzz"]

[features]
std = []

# Feature retained for compatibility but no longer does anything. Please pin to arbitrary-int 2.0.0 if you rely on this.
const_convert_and_const_trait_impl = []

# core::fmt::Step is currently unstable and is available on nightly behind a feature gate
step_trait = []

# Supports defmt
defmt = ["dep:defmt"]

# Supports serde
serde = ["dep:serde"]

# Supports rkyv
rkyv = ["dep:rkyv", "bytecheck"]

borsh = ["dep:borsh"]

schemars = ["dep:schemars", "std"]
schemars1 = ["dep:schemars1", "std"]

# Derive/implement traits for bytecheck
bytecheck = ["dep:bytecheck"]

# Implement traits for bytemuck
bytemuck = ["dep:bytemuck"]

# Implement traits for bin-proto
bin-proto = ["dep:bin-proto"]

# Provide a soundness promise to the compiler that the underlying value is always within range.
# This optimizes e.g. indexing range checks when passed in an API.
# The downside of this feature is that it involves an unsafe call to `core::hint::assert_unchecked` during `value()`.
hint = []

[dependencies]
num-traits = { version = "0.2.19", default-features = false, optional = true }
defmt = { version = "1", optional = true }
serde = { version = "1.0", optional = true, default-features = false }
rkyv = { version = "0.8.17", optional = true, default-features = false, features = ["bytecheck"] }
borsh = { version = "1.5.1", optional = true, features = ["unstable__schema"], default-features = false }
schemars = { version = "0.8.21", optional = true, features = ["derive"], default-features = false }
schemars1 = { package = "schemars", version = "1", optional = true, default-features = false }
bytemuck = { version = "1", optional = true, default-features = false }
bin-proto = { version = "0.12.2", optional = true, default-features = false }
bytecheck = { version = "0.8.2", optional = true, default-features = false }

arbitrary = { version = "1", optional = true, default-features = false }
quickcheck = { version = "1", optional = true, default-features = false }

[dev-dependencies]
serde_test = "1.0"
serde_json = "1.0"
# Need alloc for tests
rkyv = { version = "0.8.17", default-features = false, features = ["alloc"] }