Update bytemuck to 1.22.0
Test: m rust
Change-Id: Ic10fa163c524c380e2991af72f1ffdc2ab03c01e
diff --git a/crates/bytemuck/.android-checksum.json b/crates/bytemuck/.android-checksum.json
index ad9c44f..d6aafa1 100644
--- a/crates/bytemuck/.android-checksum.json
+++ b/crates/bytemuck/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"f0c247a14128bd7289a47cbbdb5d1df42f665bc16ea40c12fc5a1085774d6097","Android.bp":"9f13e6a1a13a7085aada8ac14c907fca0dd5e7f9f53dc41fd00cb75502d1f3e0","Cargo.toml":"0c59d16070f73859f051853924caf7fbeb7d052b55f9f4fd6c7e8960ec0c0e89","LICENSE":"26c86e25199583069f0f8205e7a76be5bc10af20d9204df80f281a2ea9520941","LICENSE-APACHE":"26c86e25199583069f0f8205e7a76be5bc10af20d9204df80f281a2ea9520941","METADATA":"3f628b4d272e28eaed30808a93030c4c88c268a7d362c2610d30ca5e527361df","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"f6af7c3c0ef64c3625910cbf81cf69fe64d0ca6de5103379ae05cccc082c6a46","TEST_MAPPING":"56f237fe59538452b8639ea7252252654ac69662663eb2ea34ad388b1dae7572","cargo_embargo.json":"e0c03e048791d1e8f84c21f1e4d0b0db189a2ac3ca1d3feefdbc61d164342272","changelog.md":"2e0e62c563845a666a56ffe666acc2c99464207fb90087b4b8b3335e0d71a510","rustfmt.toml":"4dc084ed1f8eee76d5623a48573701dbb3eed85d0c858e50ad79c262598cc1c4","src/allocation.rs":"d0b8464cba876373fd2cd892f98ab8d7a8738bc850183ee084fb811c63c39912","src/anybitpattern.rs":"ae2f6c7567ac0050fd81bbe64c4552386f82c410d8c8f95844f348a523afa099","src/checked.rs":"8cdfa353780fcac3d085d1f00d170f7be08214fe899ce7dc921de221159f6e5c","src/contiguous.rs":"5f226111b202ae4af33a67aebd72d5d4783b124f5aa2871aee7f5161e1f6d7fb","src/internal.rs":"77ac39d72f4c0c2baa2a9132574470dc603bce34c4f2a53e773c68538f83ac05","src/lib.rs":"d358cc206da405c292132e28a485f00e7736051fd9e7ae56c7b1b2984b314ce9","src/must.rs":"ebe31709688108949d832d516f6115a76915da723c27b015f4f5c04f0f788027","src/no_uninit.rs":"06a546319aac8a0cee275815860594121b16f5f740ee14aa62d28529242a9bb1","src/offset_of.rs":"d0726ced360c280d4c9f6d4dc709db482049c71434baa4810ea8782510b05989","src/pod.rs":"7b1b485d33ed7dfeb4be4887f7c8b8d5304588b41cddd458acb532a51823bcbd","src/pod_in_option.rs":"e88a449242133014c7490ae6c0ee4c164f3f41de80f329ce823299ce0fbc0692","src/transparent.rs":"43d6b547d72aa58fb31482fa61dcf2e5beb7075e2419805ae20c16915aa15083","src/zeroable.rs":"f6da412d43d593906000113da6534b6964f3a18f0db14c0877f371b2c1e8e020","src/zeroable_in_option.rs":"e7e1842d2ae5af18cc040b2de9b4300b0ad8a29ffec2a0e1eea554f742765740","tests/array_tests.rs":"63a1f7bf11d09234d456f1eda4f7c59f7af313ee7f692f085fec6c7a303ab0a0","tests/cast_slice_tests.rs":"0fccf1f772c3eed58e24dd3cd0ef7e6c3f580fbc21867a849a35094a906a16b5","tests/checked_tests.rs":"2bee46585c6b6608df216381b1326c2fd56e05c8d7d121db4d37368eeff5fc7e","tests/derive.rs":"4d90facd45007555640269a46a0ef1c904c8665ee1ace879fa0c722977dc0acd","tests/doc_tests.rs":"ebc71de72bfe4499e0b512c94df4c06daa2cb09b6a519690e1f5d9d9e5ebc4dc","tests/offset_of_tests.rs":"fab12e44f1a5f7b86047b5bfa922d800081a2a3a27d58a9f72e374a73aec7f4f","tests/std_tests.rs":"45484e668354e80608df356860805ece04402ec4698760600d87dfc628089f3e","tests/transparent.rs":"66bb171f783a5ede3955ee63562352d538ca11eb16a9bfe72cc38b0f72e5a230","tests/wrapper_forgets.rs":"436c24e0834ff341db64b4b52bceb5c18c83415d01f830c2ec0fcad7266d4ba5"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"92cf41d3215f23d2ba1a61804f1952e6ee0bf19e7e4e3d51a9dc76dc2a48a229","Android.bp":"889dcae03e7dbd24e2f973d387bb16cc9685d5c5ec766ce7138c09daa620064d","Cargo.toml":"fa5b69894851331951275570bc73514efc86c52edfe2b2404db43d7ad7ce67b4","LICENSE":"26c86e25199583069f0f8205e7a76be5bc10af20d9204df80f281a2ea9520941","LICENSE-APACHE":"26c86e25199583069f0f8205e7a76be5bc10af20d9204df80f281a2ea9520941","METADATA":"5bca921ca1dd6cd51dfac3288fd5b948a7a4ae428dfabf94d1d2d4cf6a954860","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"f6af7c3c0ef64c3625910cbf81cf69fe64d0ca6de5103379ae05cccc082c6a46","TEST_MAPPING":"56f237fe59538452b8639ea7252252654ac69662663eb2ea34ad388b1dae7572","cargo_embargo.json":"e0c03e048791d1e8f84c21f1e4d0b0db189a2ac3ca1d3feefdbc61d164342272","changelog.md":"9eecbeceea54c7448eb06549a73b278d7a7b22feb5704719cbf265f0322546e8","rustfmt.toml":"4dc084ed1f8eee76d5623a48573701dbb3eed85d0c858e50ad79c262598cc1c4","src/allocation.rs":"23ab6f583aefe2351310d3a3f3152743df2faeca2b3a4ae6d133ec09f8c485bf","src/anybitpattern.rs":"ae2f6c7567ac0050fd81bbe64c4552386f82c410d8c8f95844f348a523afa099","src/checked.rs":"8cdfa353780fcac3d085d1f00d170f7be08214fe899ce7dc921de221159f6e5c","src/contiguous.rs":"5f226111b202ae4af33a67aebd72d5d4783b124f5aa2871aee7f5161e1f6d7fb","src/internal.rs":"77ac39d72f4c0c2baa2a9132574470dc603bce34c4f2a53e773c68538f83ac05","src/lib.rs":"859254973b5e68dce9d62f346e7b4619670b2754c673e609c69e65c882f14368","src/must.rs":"ebe31709688108949d832d516f6115a76915da723c27b015f4f5c04f0f788027","src/no_uninit.rs":"06a546319aac8a0cee275815860594121b16f5f740ee14aa62d28529242a9bb1","src/offset_of.rs":"d0726ced360c280d4c9f6d4dc709db482049c71434baa4810ea8782510b05989","src/pod.rs":"fcdfd96c99d2d1f046c9c4d2f7fb2f008b761da86011687b3f59428b76b26f61","src/pod_in_option.rs":"e88a449242133014c7490ae6c0ee4c164f3f41de80f329ce823299ce0fbc0692","src/transparent.rs":"43d6b547d72aa58fb31482fa61dcf2e5beb7075e2419805ae20c16915aa15083","src/zeroable.rs":"79b441a59a1d5c9360262fb8162ea8e5d7b4c5fda2eb33b9856da688a9e6865d","src/zeroable_in_option.rs":"e7e1842d2ae5af18cc040b2de9b4300b0ad8a29ffec2a0e1eea554f742765740","tests/array_tests.rs":"63a1f7bf11d09234d456f1eda4f7c59f7af313ee7f692f085fec6c7a303ab0a0","tests/cast_slice_tests.rs":"0fccf1f772c3eed58e24dd3cd0ef7e6c3f580fbc21867a849a35094a906a16b5","tests/checked_tests.rs":"2bee46585c6b6608df216381b1326c2fd56e05c8d7d121db4d37368eeff5fc7e","tests/derive.rs":"4d90facd45007555640269a46a0ef1c904c8665ee1ace879fa0c722977dc0acd","tests/doc_tests.rs":"ebc71de72bfe4499e0b512c94df4c06daa2cb09b6a519690e1f5d9d9e5ebc4dc","tests/offset_of_tests.rs":"fab12e44f1a5f7b86047b5bfa922d800081a2a3a27d58a9f72e374a73aec7f4f","tests/std_tests.rs":"45484e668354e80608df356860805ece04402ec4698760600d87dfc628089f3e","tests/transparent.rs":"66bb171f783a5ede3955ee63562352d538ca11eb16a9bfe72cc38b0f72e5a230","tests/wrapper_forgets.rs":"436c24e0834ff341db64b4b52bceb5c18c83415d01f830c2ec0fcad7266d4ba5"}}
\ No newline at end of file
diff --git a/crates/bytemuck/.cargo-checksum.json b/crates/bytemuck/.cargo-checksum.json
index 2d9934f..fc8102c 100644
--- a/crates/bytemuck/.cargo-checksum.json
+++ b/crates/bytemuck/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"97a0b8234556120873b15b5bf6ac70930f5fe38900bbcc70ba6283467a52b1f8","LICENSE-APACHE":"870e20c217d15bcfcbe53d7c5867cd8fac44a4ca0b41fc1eb843557e16063eba","LICENSE-MIT":"0b2d108c9c686a74ac312990ee8377902756a2a081a7af3b0f9d68abf0a8f1a1","LICENSE-ZLIB":"682b4c81b85e83ce6cc6e1ace38fdd97aeb4de0e972bd2b44aa0916c54af8c96","README.md":"167493de1f1ad16d13c778494ae344cd71306622c89d19002eaf7f4185c1f728","changelog.md":"bc6a75f248b44c5f9e97f99ed133b8bc6eeeb6aa1f1436442d1f6a6a3b53d6b5","rustfmt.toml":"f4c215534437936f924c937dbb1677f614761589300d6b389f3b518b3eb551b8","src/allocation.rs":"be0c1075015d32698722183523dae7d9cd679f93f6692e733dd6a361214404c9","src/anybitpattern.rs":"172bcc22ba7b38a9a36e34d0aa5efc8716bba77569a3c142f16f8103046f1d45","src/checked.rs":"35f69278bf0106ce2855bff48ae3aeb125a54c3ee4afb123cbfe135d518e68c0","src/contiguous.rs":"bb340c0f20a06aa725bb625edcb493146ba64980fd1fd9e450654aa37384c564","src/internal.rs":"2b5b4fdc1a5d14462dd604ca1f4f23116f40639d7d8b4c1a7189ce276edd8272","src/lib.rs":"752aa0122fa8e3d80dfc48d0bf694aebbbccf7a3686ca2376aca7bb60ed627c3","src/must.rs":"fed78b2a4dac5ef6758bab53a4f3bcabd8da071854bcc07dc70a255b327ec64c","src/no_uninit.rs":"4ab2f5ed29bff0b33630661154eb548f3e55581bfcf576a90397b7f8d5323201","src/offset_of.rs":"2afd190ef0462b30ade786fe813a91e7bf41cc2fa99a1d79002cbafab5964f37","src/pod.rs":"b010341e374a7c26f84286178c435f6df2e9d80f47306cb1dc29fdb0bc4d8e0f","src/pod_in_option.rs":"73bbe1d69f32d909695ce26d131aa2d81eaa31e2b4532256ebfe1a6ba68675c1","src/transparent.rs":"5e555d6d83f5fe215ce2dbc949e87977aa92ab8d6f7a9be8479f63fdeda2359f","src/zeroable.rs":"f44c0dbfe27661e39c17379e9a3a6ad458b8ca004c1fbf3d352a18aed3f093b1","src/zeroable_in_option.rs":"f74799ac3eee50116ec63a0ae4d3e351e0ab7ac807d01b4b59027bf6a68d6de6","tests/array_tests.rs":"98ca7a0dcd93e65f70d4db19643e707cafae5a249561ab151998cedb89b2e036","tests/cast_slice_tests.rs":"1869416e833757f603765afbf48152a6d32a100316529eb494b48fca6c5a8899","tests/checked_tests.rs":"27965acf20e46482b09ee56aaa2536868821be651a3b95052f40e554ecde9917","tests/derive.rs":"93b5ab70ecdd726811af9dee1702e23e964b8ceac59f727889f6a2678ad90d65","tests/doc_tests.rs":"f20708319fde62d8957909d51ee976fce394ad0891ebc4bbcf336ab026a34092","tests/offset_of_tests.rs":"fb5f91e17f984050969f8b06f1de58b5c1e80802c5deb992d3188f5ec274690f","tests/std_tests.rs":"967d4fb4cae24a374633c9b68f1ff65f86ba4c8a0e980adfe69dcaf60a9049c2","tests/transparent.rs":"ecef6e0987e28121b480942e58ce4534f13fe35667bde7f5c6e04e590b02f6a3","tests/wrapper_forgets.rs":"c6330546f6aa696245625056e7323b3916e3fb1a9fbecefe9c9e62d3726812d9"},"package":"ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"}
\ No newline at end of file
+{"files":{"Cargo.toml":"f13bc608a2ef6f83704f5b8da6b69f4eef9f64c24c9ceb03aab81b076703256a","LICENSE-APACHE":"870e20c217d15bcfcbe53d7c5867cd8fac44a4ca0b41fc1eb843557e16063eba","LICENSE-MIT":"0b2d108c9c686a74ac312990ee8377902756a2a081a7af3b0f9d68abf0a8f1a1","LICENSE-ZLIB":"682b4c81b85e83ce6cc6e1ace38fdd97aeb4de0e972bd2b44aa0916c54af8c96","README.md":"167493de1f1ad16d13c778494ae344cd71306622c89d19002eaf7f4185c1f728","changelog.md":"1ae85df3890cf5833836e1469953fe2f9f160cb50c63621471fd84d1fbfd69c5","rustfmt.toml":"f4c215534437936f924c937dbb1677f614761589300d6b389f3b518b3eb551b8","src/allocation.rs":"4d65e51a5d23963f60d11b8e95ae013de479c325088271bf1dba66c2f0afbb58","src/anybitpattern.rs":"172bcc22ba7b38a9a36e34d0aa5efc8716bba77569a3c142f16f8103046f1d45","src/checked.rs":"35f69278bf0106ce2855bff48ae3aeb125a54c3ee4afb123cbfe135d518e68c0","src/contiguous.rs":"bb340c0f20a06aa725bb625edcb493146ba64980fd1fd9e450654aa37384c564","src/internal.rs":"2b5b4fdc1a5d14462dd604ca1f4f23116f40639d7d8b4c1a7189ce276edd8272","src/lib.rs":"a6508d7ae80172dc88d9cba824387ab29783646c444b7be64b3f56f2bdb592e1","src/must.rs":"fed78b2a4dac5ef6758bab53a4f3bcabd8da071854bcc07dc70a255b327ec64c","src/no_uninit.rs":"4ab2f5ed29bff0b33630661154eb548f3e55581bfcf576a90397b7f8d5323201","src/offset_of.rs":"2afd190ef0462b30ade786fe813a91e7bf41cc2fa99a1d79002cbafab5964f37","src/pod.rs":"78c6a45ccefde5ebb715a8ac62e2cd5f45e808b1d0640f47a8a7427acd584a73","src/pod_in_option.rs":"73bbe1d69f32d909695ce26d131aa2d81eaa31e2b4532256ebfe1a6ba68675c1","src/transparent.rs":"5e555d6d83f5fe215ce2dbc949e87977aa92ab8d6f7a9be8479f63fdeda2359f","src/zeroable.rs":"80e24c607f240e6b18294e32c9a258d22da51318588396bbcf236c88eb6753f3","src/zeroable_in_option.rs":"f74799ac3eee50116ec63a0ae4d3e351e0ab7ac807d01b4b59027bf6a68d6de6","tests/array_tests.rs":"98ca7a0dcd93e65f70d4db19643e707cafae5a249561ab151998cedb89b2e036","tests/cast_slice_tests.rs":"1869416e833757f603765afbf48152a6d32a100316529eb494b48fca6c5a8899","tests/checked_tests.rs":"27965acf20e46482b09ee56aaa2536868821be651a3b95052f40e554ecde9917","tests/derive.rs":"93b5ab70ecdd726811af9dee1702e23e964b8ceac59f727889f6a2678ad90d65","tests/doc_tests.rs":"f20708319fde62d8957909d51ee976fce394ad0891ebc4bbcf336ab026a34092","tests/offset_of_tests.rs":"fb5f91e17f984050969f8b06f1de58b5c1e80802c5deb992d3188f5ec274690f","tests/std_tests.rs":"967d4fb4cae24a374633c9b68f1ff65f86ba4c8a0e980adfe69dcaf60a9049c2","tests/transparent.rs":"ecef6e0987e28121b480942e58ce4534f13fe35667bde7f5c6e04e590b02f6a3","tests/wrapper_forgets.rs":"c6330546f6aa696245625056e7323b3916e3fb1a9fbecefe9c9e62d3726812d9"},"package":"b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"}
\ No newline at end of file
diff --git a/crates/bytemuck/Android.bp b/crates/bytemuck/Android.bp
index 6f363de..297fbec 100644
--- a/crates/bytemuck/Android.bp
+++ b/crates/bytemuck/Android.bp
@@ -18,7 +18,7 @@
host_supported: true,
crate_name: "array_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/array_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -41,7 +41,7 @@
host_supported: true,
crate_name: "cast_slice_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/cast_slice_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -64,7 +64,7 @@
host_supported: true,
crate_name: "checked_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/checked_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -87,7 +87,7 @@
host_supported: true,
crate_name: "doc_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/doc_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -110,7 +110,7 @@
host_supported: true,
crate_name: "offset_of_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/offset_of_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -133,7 +133,7 @@
host_supported: true,
crate_name: "std_tests",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/std_tests.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -156,7 +156,7 @@
host_supported: true,
crate_name: "transparent",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "tests/transparent.rs",
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -179,7 +179,7 @@
host_supported: true,
crate_name: "bytemuck",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "src/lib.rs",
edition: "2018",
features: [
@@ -202,7 +202,7 @@
name: "libbytemuck_nostd",
crate_name: "bytemuck",
cargo_env_compat: true,
- cargo_pkg_version: "1.21.0",
+ cargo_pkg_version: "1.22.0",
crate_root: "src/lib.rs",
edition: "2018",
features: [
diff --git a/crates/bytemuck/Cargo.toml b/crates/bytemuck/Cargo.toml
index 4f67c8d..9d90334 100644
--- a/crates/bytemuck/Cargo.toml
+++ b/crates/bytemuck/Cargo.toml
@@ -12,10 +12,11 @@
[package]
edition = "2018"
name = "bytemuck"
-version = "1.21.0"
+version = "1.22.0"
authors = ["Lokathor <zefria@gmail.com>"]
build = false
exclude = ["/pedantic.bat"]
+autolib = false
autobins = false
autoexamples = false
autotests = false
@@ -49,6 +50,47 @@
"extern_crate_std",
]
+[features]
+aarch64_simd = []
+align_offset = []
+alloc_uninit = []
+avx512_simd = []
+const_zeroed = []
+derive = ["bytemuck_derive"]
+extern_crate_alloc = []
+extern_crate_std = ["extern_crate_alloc"]
+latest_stable_rust = [
+ "aarch64_simd",
+ "avx512_simd",
+ "align_offset",
+ "alloc_uninit",
+ "const_zeroed",
+ "derive",
+ "min_const_generics",
+ "must_cast",
+ "must_cast_extra",
+ "pod_saturating",
+ "track_caller",
+ "transparentwrapper_extra",
+ "wasm_simd",
+ "zeroable_atomics",
+ "zeroable_maybe_uninit",
+]
+min_const_generics = []
+must_cast = []
+must_cast_extra = ["must_cast"]
+nightly_docs = []
+nightly_float = []
+nightly_portable_simd = []
+nightly_stdsimd = []
+pod_saturating = []
+track_caller = []
+transparentwrapper_extra = []
+unsound_ptr_pod_impl = []
+wasm_simd = []
+zeroable_atomics = []
+zeroable_maybe_uninit = []
+
[lib]
name = "bytemuck"
path = "src/lib.rs"
@@ -90,48 +132,9 @@
path = "tests/wrapper_forgets.rs"
[dependencies.bytemuck_derive]
-version = "1.4"
+version = "1.4.1"
optional = true
-[features]
-aarch64_simd = []
-align_offset = []
-alloc_uninit = []
-avx512_simd = []
-const_zeroed = []
-derive = ["bytemuck_derive"]
-extern_crate_alloc = []
-extern_crate_std = ["extern_crate_alloc"]
-latest_stable_rust = [
- "aarch64_simd",
- "avx512_simd",
- "align_offset",
- "alloc_uninit",
- "const_zeroed",
- "derive",
- "min_const_generics",
- "must_cast",
- "must_cast_extra",
- "track_caller",
- "transparentwrapper_extra",
- "wasm_simd",
- "zeroable_atomics",
- "zeroable_maybe_uninit",
-]
-min_const_generics = []
-must_cast = []
-must_cast_extra = ["must_cast"]
-nightly_docs = []
-nightly_float = []
-nightly_portable_simd = []
-nightly_stdsimd = []
-track_caller = []
-transparentwrapper_extra = []
-unsound_ptr_pod_impl = []
-wasm_simd = []
-zeroable_atomics = []
-zeroable_maybe_uninit = []
-
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
diff --git a/crates/bytemuck/METADATA b/crates/bytemuck/METADATA
index b5d7f4a..5697285 100644
--- a/crates/bytemuck/METADATA
+++ b/crates/bytemuck/METADATA
@@ -1,17 +1,17 @@
name: "bytemuck"
description: "A crate for mucking around with piles of bytes."
third_party {
- version: "1.21.0"
+ version: "1.22.0"
license_type: NOTICE
last_upgrade_date {
year: 2025
- month: 1
- day: 14
+ month: 3
+ day: 6
}
homepage: "https://crates.io/crates/bytemuck"
identifier {
type: "Archive"
- value: "https://static.crates.io/crates/bytemuck/bytemuck-1.21.0.crate"
- version: "1.21.0"
+ value: "https://static.crates.io/crates/bytemuck/bytemuck-1.22.0.crate"
+ version: "1.22.0"
}
}
diff --git a/crates/bytemuck/changelog.md b/crates/bytemuck/changelog.md
index 294647c..4848ae6 100644
--- a/crates/bytemuck/changelog.md
+++ b/crates/bytemuck/changelog.md
@@ -1,5 +1,13 @@
# `bytemuck` changelog
+## 1.22
+
+* Add the `pod_saturating` feature, which adds `Pod` impls for `Saturating<T>`
+ when `T` is already `Pod`.
+* A bump in the minimum `bytemuck_derive` dependency from 1.4.0 to 1.4.1 to
+ avoid a bug if you have a truly ancient `cargo.lock` file sitting around.
+* Adds `Send` and `Sync` impls to `BoxBytes`.
+
## 1.21
* Implement `Pod` and `Zeroable` for `core::arch::{x86, x86_64}::__m512`, `__m512d` and `__m512i` without nightly.
diff --git a/crates/bytemuck/src/allocation.rs b/crates/bytemuck/src/allocation.rs
index 5636e4f..458dedb 100644
--- a/crates/bytemuck/src/allocation.rs
+++ b/crates/bytemuck/src/allocation.rs
@@ -783,6 +783,12 @@
layout: Layout,
}
+// SAFETY: `BoxBytes` is semantically a `Box<[u8], Global>` with a different allocation alignment,
+// `Box<[u8], Global>` is `Send + Sync`, and changing the allocation alignment has no thread-safety implications.
+unsafe impl Send for BoxBytes {}
+// SAFETY: See `Send` impl
+unsafe impl Sync for BoxBytes {}
+
impl Deref for BoxBytes {
type Target = [u8];
diff --git a/crates/bytemuck/src/lib.rs b/crates/bytemuck/src/lib.rs
index f820762..7d3c18c 100644
--- a/crates/bytemuck/src/lib.rs
+++ b/crates/bytemuck/src/lib.rs
@@ -82,12 +82,19 @@
//! Box and Vec.
//! * `zeroable_maybe_uninit` and `zeroable_atomics`: Provide more [`Zeroable`]
//! impls.
+//! * `pod_saturating`: Provide more [`Pod`] and [`Zeroable`] impls.
//! * `wasm_simd` and `aarch64_simd`: Support more SIMD types.
//! * `min_const_generics`: Provides appropriate impls for arrays of all lengths
//! instead of just for a select list of array lengths.
//! * `must_cast`: Provides the `must_` functions, which will compile error if
//! the requested cast can't be statically verified.
//! * `const_zeroed`: Provides a const version of the `zeroed` function.
+//!
+//! ## Related Crates
+//!
+//! - [`pack1`](https://docs.rs/pack1), which contains `bytemuck`-compatible
+//! packed little-endian, big-endian and native-endian integer and floating
+//! point number types.
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
use core::arch::aarch64;
diff --git a/crates/bytemuck/src/pod.rs b/crates/bytemuck/src/pod.rs
index 7a60b08..4b828d2 100644
--- a/crates/bytemuck/src/pod.rs
+++ b/crates/bytemuck/src/pod.rs
@@ -57,6 +57,9 @@
unsafe impl Pod for f128 {}
unsafe impl<T: Pod> Pod for Wrapping<T> {}
+#[cfg(feature = "pod_saturating")]
+unsafe impl<T: Pod> Pod for core::num::Saturating<T>{}
+
#[cfg(feature = "unsound_ptr_pod_impl")]
#[cfg_attr(
feature = "nightly_docs",
diff --git a/crates/bytemuck/src/zeroable.rs b/crates/bytemuck/src/zeroable.rs
index 9d371a7..7e89920 100644
--- a/crates/bytemuck/src/zeroable.rs
+++ b/crates/bytemuck/src/zeroable.rs
@@ -56,6 +56,8 @@
unsafe impl Zeroable for f128 {}
unsafe impl<T: Zeroable> Zeroable for Wrapping<T> {}
unsafe impl<T: Zeroable> Zeroable for core::cmp::Reverse<T> {}
+#[cfg(feature = "pod_saturating")]
+unsafe impl<T: Zeroable> Zeroable for core::num::Saturating<T> {}
// Note: we can't implement this for all `T: ?Sized` types because it would
// create NULL pointers for vtables.
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 72025ff..d17b827 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -1051,9 +1051,9 @@
[[package]]
name = "bytemuck"
-version = "1.21.0"
+version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
+checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"
dependencies = [
"bytemuck_derive",
]
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 9b2b66d..c5de01d 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -43,7 +43,7 @@
bitreader = "=0.3.11"
bstr = "=1.5.0"
buddy_system_allocator = "=0.11.0"
-bytemuck = "=1.21.0"
+bytemuck = "=1.22.0"
bytemuck_derive = "=1.8.1"
byteorder = "=1.5.0"
bytes = "=1.9.0"