1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-08-02 04:04:47 +02:00

cargo updates

This commit is contained in:
Robin Appelman 2026-08-01 19:17:22 +02:00
commit 29063457f4
11 changed files with 241 additions and 128 deletions

311
Cargo.lock generated
View file

@ -4,17 +4,20 @@ version = 3
[[package]] [[package]]
name = "autocfg" name = "autocfg"
version = "1.4.0" version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]] [[package]]
name = "bincode" name = "bincode-next"
version = "1.3.3" version = "3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" checksum = "1d6626829353ae29293be5c86f42de5f0468bc758af074b0c7d08f07e538ccbc"
dependencies = [ dependencies = [
"pastey",
"rapidhash",
"serde", "serde",
"unty-next",
] ]
[[package]] [[package]]
@ -22,11 +25,11 @@ name = "bitbuffer"
version = "0.11.3" version = "0.11.3"
dependencies = [ dependencies = [
"bitbuffer_derive", "bitbuffer_derive",
"iai-callgrind", "gungraun",
"maplit", "maplit",
"num-traits", "num-traits",
"schemars 0.8.22", "schemars 0.8.22",
"schemars 1.0.4", "schemars 1.2.2",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
@ -37,80 +40,115 @@ name = "bitbuffer_derive"
version = "0.11.3" version = "0.11.3"
dependencies = [ dependencies = [
"bitbuffer", "bitbuffer",
"merge", "merged",
"proc-macro2", "proc-macro2",
"quote", "quote",
"structmeta", "structmeta",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "2.0.1" version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
dependencies = [ dependencies = [
"derive_more-impl", "derive_more-impl",
] ]
[[package]] [[package]]
name = "derive_more-impl" name = "derive_more-impl"
version = "2.0.1" version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "rustc_version",
"syn 2.0.119",
] ]
[[package]] [[package]]
name = "dyn-clone" name = "dyn-clone"
version = "1.0.18" version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]] [[package]]
name = "iai-callgrind" name = "either-or-both"
version = "0.15.2" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd56318753b26f1f33ccf7385041fd31fdb3f8966aa1c62d46cf2efba9835504" checksum = "6717164c227120ba9ddf3e2b32305fc0122741d3ee41a54968eae7573ee01933"
dependencies = [ dependencies = [
"bincode", "indexmap",
"derive_more", "serde",
"iai-callgrind-macros",
"iai-callgrind-runner",
] ]
[[package]] [[package]]
name = "iai-callgrind-macros" name = "equivalent"
version = "0.6.0" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "763d0d9b10ba3177236eda380afb78bafa150556dc4536969f91f938fee1b83a" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "gungraun"
version = "0.19.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9300d38d30facf6870c15bc9e243edcc47e5ddc270c9d2c1ae824a00b1faea79"
dependencies = [
"bincode-next",
"derive_more",
"gungraun-macros",
"gungraun-runner",
]
[[package]]
name = "gungraun-macros"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7f3214bae6cfd6739f4f29edb262bae439c6393a7b7b12c4eeb96417c2e50df"
dependencies = [ dependencies = [
"derive_more", "derive_more",
"proc-macro-error2", "proc-macro-error3",
"proc-macro2", "proc-macro2",
"quote", "quote",
"rustc_version",
"serde", "serde",
"serde_json", "serde_json",
"syn", "syn 2.0.119",
] ]
[[package]] [[package]]
name = "iai-callgrind-runner" name = "gungraun-runner"
version = "0.15.2" version = "0.19.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "100409442ecf8137ec5c0ad83548be9f1d22f072b646e6ed16177558e037a0dd" checksum = "47c68c92812da579a2510a2cc702d5aa3251992b9662d4a98502ca46e0cbe16e"
dependencies = [ dependencies = [
"either-or-both",
"serde", "serde",
] ]
[[package]]
name = "hashbrown"
version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
[[package]]
name = "indexmap"
version = "2.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
dependencies = [
"equivalent",
"hashbrown",
]
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.14" version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]] [[package]]
name = "maplit" name = "maplit"
@ -120,30 +158,30 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.7.4" version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
[[package]] [[package]]
name = "merge" name = "merged"
version = "0.2.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e520ba58faea3487f75df198b1d079644ec226ea3b0507d002c6fa4b8cf93a" checksum = "7a62e432ba4cd8bb2f9e9eb2d6ed4b1db2730b78a2eb0c4408ce3aaf77df85f7"
dependencies = [ dependencies = [
"merge_derive", "merged_derive",
"num-traits", "num-traits",
] ]
[[package]] [[package]]
name = "merge_derive" name = "merged_derive"
version = "0.2.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c8f8ce6efff81cbc83caf4af0905c46e58cb46892f63ad3835e81b47eaf7968" checksum = "986cb0d15509c6561c8b90ab569bd23f5d60d0a1b3ce6160986594d5f468cf33"
dependencies = [ dependencies = [
"proc-macro-error2", "proc-macro-error3",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
@ -156,70 +194,94 @@ dependencies = [
] ]
[[package]] [[package]]
name = "proc-macro-error-attr2" name = "pastey"
version = "2.0.0" version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
[[package]]
name = "proc-macro-error-attr3"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0084e6206a967a2dad822180626b2f6b07a3b379325e8f1ec0438e33a469ba7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
] ]
[[package]] [[package]]
name = "proc-macro-error2" name = "proc-macro-error3"
version = "2.0.1" version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" checksum = "0cf066225f2373bc711684792b69bdeac0356019b007e721090c24d92d5d5a50"
dependencies = [ dependencies = [
"proc-macro-error-attr2", "proc-macro-error-attr3",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.93" version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.38" version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]] [[package]]
name = "ref-cast" name = "rapidhash"
version = "1.0.24" version = "4.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" checksum = "5da7e78a036ce858e8d55b7e7dc8ba3a88b78350fd2155d3591bbd966b58589e"
dependencies = [
"rustversion",
]
[[package]]
name = "ref-cast"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d"
dependencies = [ dependencies = [
"ref-cast-impl", "ref-cast-impl",
] ]
[[package]] [[package]]
name = "ref-cast-impl" name = "ref-cast-impl"
version = "1.0.24" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "ryu" name = "rustc_version"
version = "1.0.19" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
dependencies = [
"semver",
]
[[package]]
name = "rustversion"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
[[package]] [[package]]
name = "schemars" name = "schemars"
@ -235,13 +297,13 @@ dependencies = [
[[package]] [[package]]
name = "schemars" name = "schemars"
version = "1.0.4" version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a"
dependencies = [ dependencies = [
"dyn-clone", "dyn-clone",
"ref-cast", "ref-cast",
"schemars_derive 1.0.4", "schemars_derive 1.2.2",
"serde", "serde",
"serde_json", "serde_json",
] ]
@ -254,40 +316,56 @@ checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"serde_derive_internals", "serde_derive_internals 0.29.1",
"syn", "syn 2.0.119",
] ]
[[package]] [[package]]
name = "schemars_derive" name = "schemars_derive"
version = "1.0.4" version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" checksum = "d98c67716b46af2f0b8cf752abc930f6f9aecfbf671ecfb531db8a31dbe4e2ba"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"serde_derive_internals", "serde_derive_internals 0.30.0",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "serde" name = "semver"
version = "1.0.218" version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
name = "serde"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
dependencies = [
"serde_core",
"serde_derive",
]
[[package]]
name = "serde_core"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.218" version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
@ -298,49 +376,72 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 2.0.119",
]
[[package]]
name = "serde_derive_internals"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.3",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.139" version = "1.0.151"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
dependencies = [ dependencies = [
"itoa", "itoa",
"memchr", "memchr",
"ryu",
"serde", "serde",
"serde_core",
"zmij",
] ]
[[package]] [[package]]
name = "structmeta" name = "structmeta"
version = "0.3.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e1575d8d40908d70f6fd05537266b90ae71b15dbbe7a8b7dffa2b759306d329" checksum = "1928169e45d0db7a0bd4af36ef36a8fd74d4a977b312ce677f3c9e8184988771"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"structmeta-derive", "structmeta-derive",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "structmeta-derive" name = "structmeta-derive"
version = "0.3.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" checksum = "4e73ed3c93a468f184110d8f686710ac284ae3a474269fa856647658b04bea25"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.98" version = "2.0.119"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "3.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -349,26 +450,38 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "2.0.11" version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "2.0.11" version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.17" version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
name = "unty-next"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16062d030850f35054e37746427b9febb74a2f24c9c6dd6fa2d0c13c5f53221e"
[[package]]
name = "zmij"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"

View file

@ -6,19 +6,19 @@ edition = "2021"
description = "Reading bit sequences from a byte slice" description = "Reading bit sequences from a byte slice"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://codeberg.org/icewind/bitbuffer" repository = "https://codeberg.org/icewind/bitbuffer"
rust-version = "1.82.0" rust-version = "1.85.0"
[dependencies] [dependencies]
num-traits = "0.2.19" num-traits = "0.2.19"
thiserror = "2.0.11" thiserror = "2.0.11"
bitbuffer_derive = { version = "0.11.0", path = "bitbuffer_derive" } bitbuffer_derive = { version = "0.11.0", path = "bitbuffer_derive" }
serde = { version = "1.0.218", features = ["derive"], optional = true } serde = { version = "1.0.218", features = ["derive"], optional = true }
schemars = { version = "0.8.21", optional = true } schemars = { version = "0.8.22", optional = true }
schemars_1 = { package = "schemars", version = "1.0.4", optional = true } schemars_1 = { package = "schemars", version = "1.2.2", optional = true }
[dev-dependencies] [dev-dependencies]
maplit = "1.0.2" maplit = "1.0.2"
iai-callgrind = "0.15.2" gungraun = "0.19.4"
serde_json = "1.0.139" serde_json = "1.0.139"
[profile.bench] [profile.bench]

View file

@ -1,7 +1,7 @@
use bitbuffer::{ use bitbuffer::{
BigEndian, BitRead, BitReadBuffer, BitReadStream, BitWriteStream, Endianness, LittleEndian, BigEndian, BitRead, BitReadBuffer, BitReadStream, BitWriteStream, Endianness, LittleEndian,
}; };
use iai_callgrind::{library_benchmark, library_benchmark_group, main}; use gungraun::{library_benchmark, library_benchmark_group, main};
use std::hint::black_box; use std::hint::black_box;
const ONES: &[u8; 1024 * 1024 * 10] = &[1u8; 1024 * 1024 * 10]; const ONES: &[u8; 1024 * 1024 * 10] = &[1u8; 1024 * 1024 * 10];

View file

@ -1,5 +1,5 @@
use bitbuffer::{BigEndian, BitWriteStream, Endianness, LittleEndian}; use bitbuffer::{BigEndian, BitWriteStream, Endianness, LittleEndian};
use iai_callgrind::{library_benchmark, library_benchmark_group, main}; use gungraun::{library_benchmark, library_benchmark_group, main};
use std::hint::black_box; use std::hint::black_box;
fn create_output<E: Endianness>(bit_size: usize, endianness: E) -> (E, Vec<u8>, usize) { fn create_output<E: Endianness>(bit_size: usize, endianness: E) -> (E, Vec<u8>, usize) {

View file

@ -2,7 +2,7 @@
name = "bitbuffer_derive" name = "bitbuffer_derive"
version = "0.11.3" version = "0.11.3"
authors = ["Robin Appelman <robin@icewind.nl>"] authors = ["Robin Appelman <robin@icewind.nl>"]
edition = "2018" edition = "2021"
description = "Reading bit sequences from a byte slice" description = "Reading bit sequences from a byte slice"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
repository = "https://codeberg.org/icewind/bitbuffer" repository = "https://codeberg.org/icewind/bitbuffer"
@ -12,11 +12,11 @@ name = "bitbuffer_derive"
proc-macro = true proc-macro = true
[dependencies] [dependencies]
syn = { version = "2.0.98", features = ["extra-traits"] } syn = { version = "3.0.3", features = ["extra-traits"] }
quote = "1.0.38" quote = "1.0.38"
proc-macro2 = "1.0.93" proc-macro2 = "1.0.93"
structmeta = "0.3.0" structmeta = "0.4.0"
merge = "0.2.0" merged = "0.3.0"
[dev-dependencies] [dev-dependencies]
bitbuffer = { version = "0.11", path = ".." } bitbuffer = { version = "0.11", path = ".." }

View file

@ -1,6 +1,6 @@
use crate::params::parse_attrs; use crate::params::parse_attrs;
use crate::params::variant::VariantParam; use crate::params::variant::VariantParam;
use merge::Merge; use merged::Merge;
use proc_macro2::{Ident, Span, TokenStream}; use proc_macro2::{Ident, Span, TokenStream};
use quote::quote; use quote::quote;
use structmeta::StructMeta; use structmeta::StructMeta;
@ -8,7 +8,7 @@ use syn::{Attribute, DataEnum, Error, LitInt, Result};
#[derive(Default, StructMeta, Merge, Debug)] #[derive(Default, StructMeta, Merge, Debug)]
struct EnumAttrs { struct EnumAttrs {
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
discriminant_bits: Option<LitInt>, discriminant_bits: Option<LitInt>,
} }

View file

@ -1,5 +1,5 @@
use crate::params::{parse_attrs, Alignment, Size}; use crate::params::{parse_attrs, Alignment, Size};
use merge::Merge; use merged::Merge;
use proc_macro2::{Ident, Span}; use proc_macro2::{Ident, Span};
use structmeta::StructMeta; use structmeta::StructMeta;
use syn::spanned::Spanned; use syn::spanned::Spanned;
@ -7,11 +7,11 @@ use syn::{Expr, Field, Index, LitInt, Member, Result, Type};
#[derive(Default, StructMeta, Merge)] #[derive(Default, StructMeta, Merge)]
struct FieldAttrs { struct FieldAttrs {
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
size: Option<Expr>, size: Option<Expr>,
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
size_bits: Option<LitInt>, size_bits: Option<LitInt>,
#[merge(strategy = merge::bool::overwrite_false)] #[merge(strategy = merged::bool::overwrite_false)]
align: bool, align: bool,
} }

View file

@ -8,7 +8,7 @@ pub use crate::params::r#enum::EnumParam;
pub use crate::params::r#struct::StructParam; pub use crate::params::r#struct::StructParam;
pub use crate::params::variant::{VariantBody, VariantBodyType, VariantParam}; pub use crate::params::variant::{VariantBody, VariantBodyType, VariantParam};
use crate::{err, DeriveParams}; use crate::{err, DeriveParams};
use merge::Merge; use merged::Merge;
use proc_macro2::{Ident, Span, TokenStream}; use proc_macro2::{Ident, Span, TokenStream};
use quote::{quote, quote_spanned, ToTokens, TokenStreamExt}; use quote::{quote, quote_spanned, ToTokens, TokenStreamExt};
use std::any::type_name; use std::any::type_name;
@ -141,9 +141,9 @@ impl ToTokens for Alignment {
#[derive(Default, StructMeta, Merge, Debug)] #[derive(Default, StructMeta, Merge, Debug)]
struct InputAttrs { struct InputAttrs {
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
endianness: Option<LitStr>, endianness: Option<LitStr>,
#[merge(strategy = merge::bool::overwrite_false)] #[merge(strategy = merged::bool::overwrite_false)]
align: bool, align: bool,
} }

View file

@ -2,7 +2,7 @@ use crate::discriminant::Discriminant;
use crate::err; use crate::err;
use crate::params::field::FieldParam; use crate::params::field::FieldParam;
use crate::params::{parse_attrs, Alignment, Size}; use crate::params::{parse_attrs, Alignment, Size};
use merge::Merge; use merged::Merge;
use proc_macro2::{Ident, Span}; use proc_macro2::{Ident, Span};
use std::convert::TryFrom; use std::convert::TryFrom;
use structmeta::StructMeta; use structmeta::StructMeta;
@ -11,13 +11,13 @@ use syn::{Expr, ExprLit, Fields, Lit, LitInt, Result, Variant};
#[derive(Default, StructMeta, Merge)] #[derive(Default, StructMeta, Merge)]
struct VariantAttrs { struct VariantAttrs {
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
size: Option<Expr>, size: Option<Expr>,
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
size_bits: Option<LitInt>, size_bits: Option<LitInt>,
#[merge(strategy = merge::bool::overwrite_false)] #[merge(strategy = merged::bool::overwrite_false)]
align: bool, align: bool,
#[merge(strategy = merge::option::overwrite_none)] #[merge(strategy = merged::option::overwrite_none)]
discriminant: Option<Lit>, discriminant: Option<Lit>,
} }

View file

@ -76,7 +76,7 @@ fn sum_size_hint<T: SizeHint>(children: &[T], span: Span) -> TokenStream {
let Some(first) = sizes.next() else { let Some(first) = sizes.next() else {
return quote!(Some(0)); return quote!(Some(0));
}; };
quote_spanned!(span => #first#(.and_then(|prev: usize| if prev == #sizes? { quote_spanned!(span => #first #(.and_then(|prev: usize| if prev == #sizes? {
Some(prev) Some(prev)
} else { } else {
None None

14
flake.lock generated
View file

@ -22,11 +22,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1785163537, "lastModified": 1785604334,
"narHash": "sha256-TP11bcL6YwemrsMbL7fNJziOyysTverEr/LbKrPXE64=", "narHash": "sha256-ekHRgXUDhSEvDW0uxIcsZ51wdnR8J4MIHL3gW1DJzcI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flakelight", "repo": "flakelight",
"rev": "737e3235669d7ea9be199dfd045f808be02207b2", "rev": "0ba2f7072bb3818b830a78aac813060f88794011",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -44,11 +44,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1780231986, "lastModified": 1785604895,
"narHash": "sha256-OyafczPtzE0Xa2zl3j/KvV2+ZVYGhYQHt0MOVWtDXlY=", "narHash": "sha256-d4HjthVOi6SXwhfqEIvkZ343FW7nkCJyamw4duwBiU8=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "f5cbda29b945df03256bf63c22fa4cd5fa429e67", "rev": "a1ce01e4cc764e4c6d6bc118a3b009c81a6e5945",
"revCount": 72, "revCount": 74,
"type": "git", "type": "git",
"url": "https://codeberg.org/icewind/mill-scale.git" "url": "https://codeberg.org/icewind/mill-scale.git"
}, },