[package] authors = ["sharks "] edition = "2021" name = "deku" version = "0.18.1" license = "MIT OR Apache-2.0" repository = "https://github.com/sharksforarms/deku" keywords = ["deku", "bits", "serialization", "deserialization", "struct"] categories = ["encoding", "parsing", "no-std"] description = "bit level serialization/deserialization proc-macro for structs" readme = "README.md" rust-version = "1.71" [lib] bench = false [workspace] members = [ "deku-derive" ] [features] default = ["std", "bits"] std = ["deku_derive/std", "bitvec?/std", "alloc", "no_std_io/std"] alloc = ["bitvec?/alloc"] logging = ["deku_derive/logging", "log"] no-assert-string = ["deku_derive/no-assert-string"] error_in_core = [] bits = ["dep:bitvec", "deku_derive/bits"] [dependencies] deku_derive = { version = "^0.18.1", path = "deku-derive", default-features = false} bitvec = { version = "1.0.1", default-features = false, optional = true } log = { version = "0.4.22", optional = true } no_std_io = { version = "0.8.0", default-features = false, features = ["alloc"], package = "no_std_io2" } rustversion = "1.0.17" [dev-dependencies] rstest = "0.22.0" hexlit = "0.5.5" criterion = "0.5.1" alloc_counter = "0.0.4" trybuild = "1.0.99" rustc-hash = "2.0.0" env_logger = "0.11.5" assert_hex = "0.4.1" [[bench]] name = "deku" harness = false [lints] workspace = true [workspace.lints.clippy] # Triggers in macro generated code of darling # https://github.com/rust-lang/rust-clippy/issues/12643 manual-unwrap-or-default = "allow" [[example]] name = "custom_reader_and_writer" required-features = ["bits"] [[example]] name = "deku_input" [[example]] name = "enums_catch_all" required-features = ["bits"] [[example]] name = "enums" [[example]] name = "example" required-features = ["bits"] [[example]] name = "ipv4" required-features = ["bits"] [[example]] name = "many" [[example]] name = "read_all"