Bug 1932319 - update Rust zerovec-derive crate to v0.10.3 r=valentin,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D229592
This commit is contained in:
8
Cargo.lock
generated
8
Cargo.lock
generated
@@ -2908,9 +2908,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "icu_calendar"
|
name = "icu_calendar"
|
||||||
version = "1.5.1"
|
version = "1.5.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7defdcb785245edd773a38b56f0ccef39065cdc4509a7d85435f6edea0fd58c5"
|
checksum = "7265b2137f9a36f7634a308d91f984574bbdba8cfd95ceffe1c345552275a8ff"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"calendrical_calculations",
|
"calendrical_calculations",
|
||||||
"displaydoc",
|
"displaydoc",
|
||||||
@@ -7558,9 +7558,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zerovec-derive"
|
name = "zerovec-derive"
|
||||||
version = "0.10.2"
|
version = "0.10.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
|
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|||||||
@@ -2567,6 +2567,11 @@ who = "André Bargull <andre.bargull@gmail.com>"
|
|||||||
criteria = "safe-to-deploy"
|
criteria = "safe-to-deploy"
|
||||||
delta = "1.4.0 -> 1.5.1"
|
delta = "1.4.0 -> 1.5.1"
|
||||||
|
|
||||||
|
[[audits.icu_calendar]]
|
||||||
|
who = "Max Inden <mail@max-inden.de>"
|
||||||
|
criteria = "safe-to-deploy"
|
||||||
|
delta = "1.5.1 -> 1.5.2"
|
||||||
|
|
||||||
[[audits.icu_calendar_data]]
|
[[audits.icu_calendar_data]]
|
||||||
who = "André Bargull <andre.bargull@gmail.com>"
|
who = "André Bargull <andre.bargull@gmail.com>"
|
||||||
criteria = "safe-to-deploy"
|
criteria = "safe-to-deploy"
|
||||||
@@ -5752,6 +5757,11 @@ who = "Makoto Kato <m_kato@ga2.so-net.ne.jp>"
|
|||||||
criteria = "safe-to-deploy"
|
criteria = "safe-to-deploy"
|
||||||
delta = "0.10.1 -> 0.10.2"
|
delta = "0.10.1 -> 0.10.2"
|
||||||
|
|
||||||
|
[[audits.zerovec-derive]]
|
||||||
|
who = "Max Inden <mail@max-inden.de>"
|
||||||
|
criteria = "safe-to-deploy"
|
||||||
|
delta = "0.10.2 -> 0.10.3"
|
||||||
|
|
||||||
[[audits.zip]]
|
[[audits.zip]]
|
||||||
who = "Alex Franchuk <afranchuk@mozilla.com>"
|
who = "Alex Franchuk <afranchuk@mozilla.com>"
|
||||||
criteria = "safe-to-deploy"
|
criteria = "safe-to-deploy"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"files":{"Cargo.lock":"923274e39d5235589fc445cc05bc0fe2a8f94c8ed51ea0d373d2a1580b4941c6","Cargo.toml":"92035f3160462280fda2ccc564eaaac54d21141a9726910492ac4f21d828bf7d","LICENSE":"f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2","README.md":"dbdcc2b74061b42a32920e90038f7cc70b4847b8a61514f7533082f781f8a37d","benches/convert.rs":"4a31671aac5f873987d63222cd7dceed67036f866438f4422f91365b45c7505b","benches/date.rs":"338c32dd2c57a028f5d7f53585caeecf14242a41032a12591b9304c29c7f1da3","benches/datetime.rs":"ac02eaa6e0974078a2109d09d2de48cce061beab036bb98478c328eb9b658dc3","benches/fixtures/datetimes.json":"ad8db74905ad8837b5e75ddc0bb51c1f277a8aa20e486d6927438a8fc7f094a6","benches/fixtures/mod.rs":"c927a527009af7d29bb16fdb893704178ac577ec2688baffa924f24da7f6b040","benches/iso.rs":"c80fa2c7b2554ad3f63bb88e5b31481757dbd916de0be88ae6b8057c3390c33f","examples/iso_date_manipulations.rs":"ed178ed88aa9a900df2841ae1f443ee8a69932ff1119ab3fadba07085c0665b6","examples/iso_datetime_manipulations.rs":"e6f2063ef0e41dca9ab4efa12646ac1f88ddfce80e8a0aa41f77c68c5e759f91","src/any_calendar.rs":"814528488b603ea458602948ac0cc1807ac451951c0cef99bc38adfd1514eacb","src/buddhist.rs":"b2afb680f07f19494697fd3baee9a51ac51c170ad1fffcff57dfd1e68feb7a9c","src/calendar.rs":"d6fb3c39ca92d99eb824a1f112b19163cf6fdd69326a2eaad64687516a5def53","src/calendar_arithmetic.rs":"72a5180b5d2b9526299589c6b5be632ccd599cd1f97f7e6adc57ae7de59d8514","src/chinese.rs":"473980e3c31318db6d09ad2c365a01616d58ad29ccd75e6b27db63b8cfb6d095","src/chinese_based.rs":"d7fdd8429a8d4ce4c6fd412dd838b164956c513823510b50cb75520493b8b7ce","src/coptic.rs":"85a844ce6929a833db41df6246d4cb658b4e3cac7d21dfb6a6746a4ff0057e9b","src/dangi.rs":"5a26869a2c18652db15acabd6c188382aed193554a7ea992870af9ed01eb55e0","src/date.rs":"906b582caf864e757a01c605552b7a68cde4c9f63af1f77828c318ce50d9c092","src/datetime.rs":"238defbf65abf5d21325a364677d1d8174e33f19e88a446a76203828b783cddc","src/duration.rs":"c1ed5463c12fde56fb7dd5db9cd8a8dc576c0999d99abcf2eea4e152f6caae10","src/error.rs":"3ccaeb14c53a79cec8f108c978ae59f384cceebac95dc4ce83cca1a0a38205ec","src/ethiopian.rs":"88fdc4e59c873e49ae4b430cbc56967f228fadb19a5e29a95ab84f9675e07f9a","src/gregorian.rs":"a31c3eb2675b5b401e19a78b0d146a7b8b1a49876c69058479e4bcf3dcec96c3","src/hebrew.rs":"316ae480209068f39921e0bf1e5f51efc0734844cf9efce30b35f3807e38bc1f","src/indian.rs":"48a96ed055bf7daf9fc4b5916ccb24f3c73c87c7c24b02b8e6dc3a484ab5181b","src/islamic.rs":"300c66fb90f4ff4b99f0057ef2460bd6ef4ab57f6339f7b7bdf0c25c4ce2aee9","src/iso.rs":"5d0ee04b06579bc2cead04a679d47c7e81b0f0d119fb3d71ad8e36cbbf661fb2","src/japanese.rs":"771c47978603b0ce33a1ccd76c71d09567d26fa977c9cd9ecfbbd7cbd4dcd57d","src/julian.rs":"28e8db43459b647d493f2c6d6cfb8de1103bbd9ffbb910345b59e67186e05554","src/lib.rs":"f86745c0cb056d8206380d7795c029758be6890fc096ca3124dc0ad2dcb5e51c","src/persian.rs":"f965beb4fd7b911c78b1636c0fbc91a4e769f392a88a5560ed61da3904a7c579","src/provider.rs":"964f04d6b549b701e8e6e967c146cd2a447e0ee516fbdc336711034f92890857","src/provider/chinese_based.rs":"7898b507e0e428e88dbea25836dab99b6cb698b96194995f70bc1f28c95d0f7e","src/provider/islamic.rs":"edf08161c30a27d2d6f470ece9e9a8f3df6909cdadc977da78e58213719b7397","src/roc.rs":"b652e0d6ad5066fe117fa72e4049f1b43629f5e80749b0010a505f95a559ef9e","src/tests/continuity_test.rs":"25994bca29a852ecc06f88cae93b59442cfea34ad783f4909b91e21fe31bf639","src/tests/mod.rs":"0925663ff594ebac9892d652d3576a9bc1ed938b2e4ee7a6d23a641899e8bf5a","src/types.rs":"ad99a40a784e2982b16339f96688ae39ac544524f20bfe2d930a87b53ae6c3a1","src/week_of.rs":"eb2418f224e917824e93305d294dc25331448f98f30908166b03b6e25cd60b5a"},"package":"7defdcb785245edd773a38b56f0ccef39065cdc4509a7d85435f6edea0fd58c5"}
|
{"files":{"Cargo.lock":"0e4ac88198c582e59afe8c3b8e33ca506b7a13767cc881370089929cfe6cd37f","Cargo.toml":"c4bbe10f4901792e250004b3c20163fc020f7a1288ff79a545da1da23dfb90ef","LICENSE":"f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2","README.md":"dbdcc2b74061b42a32920e90038f7cc70b4847b8a61514f7533082f781f8a37d","benches/convert.rs":"4a31671aac5f873987d63222cd7dceed67036f866438f4422f91365b45c7505b","benches/date.rs":"338c32dd2c57a028f5d7f53585caeecf14242a41032a12591b9304c29c7f1da3","benches/datetime.rs":"ac02eaa6e0974078a2109d09d2de48cce061beab036bb98478c328eb9b658dc3","benches/fixtures/datetimes.json":"ad8db74905ad8837b5e75ddc0bb51c1f277a8aa20e486d6927438a8fc7f094a6","benches/fixtures/mod.rs":"c927a527009af7d29bb16fdb893704178ac577ec2688baffa924f24da7f6b040","benches/iso.rs":"c80fa2c7b2554ad3f63bb88e5b31481757dbd916de0be88ae6b8057c3390c33f","examples/iso_date_manipulations.rs":"ed178ed88aa9a900df2841ae1f443ee8a69932ff1119ab3fadba07085c0665b6","examples/iso_datetime_manipulations.rs":"e6f2063ef0e41dca9ab4efa12646ac1f88ddfce80e8a0aa41f77c68c5e759f91","src/any_calendar.rs":"814528488b603ea458602948ac0cc1807ac451951c0cef99bc38adfd1514eacb","src/buddhist.rs":"b2afb680f07f19494697fd3baee9a51ac51c170ad1fffcff57dfd1e68feb7a9c","src/calendar.rs":"d6fb3c39ca92d99eb824a1f112b19163cf6fdd69326a2eaad64687516a5def53","src/calendar_arithmetic.rs":"72a5180b5d2b9526299589c6b5be632ccd599cd1f97f7e6adc57ae7de59d8514","src/chinese.rs":"473980e3c31318db6d09ad2c365a01616d58ad29ccd75e6b27db63b8cfb6d095","src/chinese_based.rs":"d7fdd8429a8d4ce4c6fd412dd838b164956c513823510b50cb75520493b8b7ce","src/coptic.rs":"85a844ce6929a833db41df6246d4cb658b4e3cac7d21dfb6a6746a4ff0057e9b","src/dangi.rs":"5a26869a2c18652db15acabd6c188382aed193554a7ea992870af9ed01eb55e0","src/date.rs":"906b582caf864e757a01c605552b7a68cde4c9f63af1f77828c318ce50d9c092","src/datetime.rs":"238defbf65abf5d21325a364677d1d8174e33f19e88a446a76203828b783cddc","src/duration.rs":"c1ed5463c12fde56fb7dd5db9cd8a8dc576c0999d99abcf2eea4e152f6caae10","src/error.rs":"3ccaeb14c53a79cec8f108c978ae59f384cceebac95dc4ce83cca1a0a38205ec","src/ethiopian.rs":"88fdc4e59c873e49ae4b430cbc56967f228fadb19a5e29a95ab84f9675e07f9a","src/gregorian.rs":"a31c3eb2675b5b401e19a78b0d146a7b8b1a49876c69058479e4bcf3dcec96c3","src/hebrew.rs":"316ae480209068f39921e0bf1e5f51efc0734844cf9efce30b35f3807e38bc1f","src/indian.rs":"48a96ed055bf7daf9fc4b5916ccb24f3c73c87c7c24b02b8e6dc3a484ab5181b","src/islamic.rs":"300c66fb90f4ff4b99f0057ef2460bd6ef4ab57f6339f7b7bdf0c25c4ce2aee9","src/iso.rs":"5d0ee04b06579bc2cead04a679d47c7e81b0f0d119fb3d71ad8e36cbbf661fb2","src/japanese.rs":"771c47978603b0ce33a1ccd76c71d09567d26fa977c9cd9ecfbbd7cbd4dcd57d","src/julian.rs":"28e8db43459b647d493f2c6d6cfb8de1103bbd9ffbb910345b59e67186e05554","src/lib.rs":"f86745c0cb056d8206380d7795c029758be6890fc096ca3124dc0ad2dcb5e51c","src/persian.rs":"f965beb4fd7b911c78b1636c0fbc91a4e769f392a88a5560ed61da3904a7c579","src/provider.rs":"964f04d6b549b701e8e6e967c146cd2a447e0ee516fbdc336711034f92890857","src/provider/chinese_based.rs":"fd7f3bcea5bf601df3ad1d23c0cd0b0480e450ee647e9ae5b65208095cdfeab3","src/provider/islamic.rs":"3cbd988aa514db7575fcceb73b3c0e720e45a17f5b942fdc40723fb77c645f73","src/roc.rs":"b652e0d6ad5066fe117fa72e4049f1b43629f5e80749b0010a505f95a559ef9e","src/tests/continuity_test.rs":"25994bca29a852ecc06f88cae93b59442cfea34ad783f4909b91e21fe31bf639","src/tests/mod.rs":"0925663ff594ebac9892d652d3576a9bc1ed938b2e4ee7a6d23a641899e8bf5a","src/types.rs":"ad99a40a784e2982b16339f96688ae39ac544524f20bfe2d930a87b53ae6c3a1","src/week_of.rs":"eb2418f224e917824e93305d294dc25331448f98f30908166b03b6e25cd60b5a"},"package":"7265b2137f9a36f7634a308d91f984574bbdba8cfd95ceffe1c345552275a8ff"}
|
||||||
2
third_party/rust/icu_calendar/Cargo.lock
generated
vendored
2
third_party/rust/icu_calendar/Cargo.lock
generated
vendored
@@ -257,7 +257,7 @@ checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "icu_calendar"
|
name = "icu_calendar"
|
||||||
version = "1.5.1"
|
version = "1.5.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"calendrical_calculations",
|
"calendrical_calculations",
|
||||||
"criterion",
|
"criterion",
|
||||||
|
|||||||
2
third_party/rust/icu_calendar/Cargo.toml
vendored
2
third_party/rust/icu_calendar/Cargo.toml
vendored
@@ -13,7 +13,7 @@
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.67"
|
rust-version = "1.67"
|
||||||
name = "icu_calendar"
|
name = "icu_calendar"
|
||||||
version = "1.5.1"
|
version = "1.5.2"
|
||||||
authors = ["The ICU4X Project Developers"]
|
authors = ["The ICU4X Project Developers"]
|
||||||
include = [
|
include = [
|
||||||
"data/**/*",
|
"data/**/*",
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ impl<'data> ChineseBasedCacheV1<'data> {
|
|||||||
derive(databake::Bake),
|
derive(databake::Bake),
|
||||||
databake(path = icu_calendar::provider),
|
databake(path = icu_calendar::provider),
|
||||||
)]
|
)]
|
||||||
#[repr(packed)]
|
#[repr(C, packed)]
|
||||||
pub struct PackedChineseBasedYearInfo(pub u8, pub u8, pub u8);
|
pub struct PackedChineseBasedYearInfo(pub u8, pub u8, pub u8);
|
||||||
|
|
||||||
impl PackedChineseBasedYearInfo {
|
impl PackedChineseBasedYearInfo {
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ impl<'data> IslamicCacheV1<'data> {
|
|||||||
databake(path = icu_calendar::provider),
|
databake(path = icu_calendar::provider),
|
||||||
)]
|
)]
|
||||||
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
|
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
|
||||||
#[repr(packed)]
|
#[repr(C, packed)]
|
||||||
pub struct PackedIslamicYearInfo(pub u8, pub u8);
|
pub struct PackedIslamicYearInfo(pub u8, pub u8);
|
||||||
|
|
||||||
impl fmt::Debug for PackedIslamicYearInfo {
|
impl fmt::Debug for PackedIslamicYearInfo {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"files":{"Cargo.lock":"d4c03dffac3217dba9bb04c501680856f645ca4916a6908190db93f5e24bc56e","Cargo.toml":"755adc6399988b491e8854b3b383fab1da608b50c61e2eec0f598c9e85d91732","LICENSE":"f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2","README.md":"bacbc17b2cb457c169257f5e22c78a45d1c4a399eadae383f7732af909616ebc","examples/derives.rs":"2541311f2b532301ab8600927fb2d12a842166ce98d57879997df12dcb928dd2","examples/make.rs":"709829d9aa1fa1d023437dfd8169183690629b71e65cc1316b1f4bf767588cc6","examples/make_var.rs":"933c0ecb44f69f9081e7866a1a782d8501ad947d87b9e4cab6947640c28c3998","src/lib.rs":"029d2b251b8279e7c85d9cc8efb6cad5188da9464b0a27e9de3dd119f4ffef2e","src/make_ule.rs":"5e1abcae7f8ffda8c472f19e4ce2543dc9b4841e644750d2ecb85fcbe0c836f8","src/make_varule.rs":"756384f6f8ae5a40e2a1b02f47bc804f110a907413ea6470152cca13ea912202","src/ule.rs":"1f0a46ff39e43bb19deb9e9a06289350096d4e6ca3f33cb76fec3c84c4a439d8","src/utils.rs":"1b20508f2f61da6c27a628b70ba38fe952cafb065321af0b1ff0f7b05b80211e","src/varule.rs":"b0642df70023b2f04aca692010f6b2a81fd3f3db8612dbae072a200eb04f0913"},"package":"97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"}
|
{"files":{"Cargo.lock":"fb1408ba4a7abcd164b9228b7b4096e0946bdd9dd518bd680c8dcbfe141f0351","Cargo.toml":"d60a5ef4e2cb4025065a294c15964f5ad5d2ad4923e339321f4dbb7b7ef11427","LICENSE":"f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2","README.md":"bacbc17b2cb457c169257f5e22c78a45d1c4a399eadae383f7732af909616ebc","examples/derives.rs":"eda3a1ad0106755bdf71f320d31ad619c62d04e00dba400205ab3072824198b5","examples/make.rs":"709829d9aa1fa1d023437dfd8169183690629b71e65cc1316b1f4bf767588cc6","examples/make_var.rs":"933c0ecb44f69f9081e7866a1a782d8501ad947d87b9e4cab6947640c28c3998","src/lib.rs":"029d2b251b8279e7c85d9cc8efb6cad5188da9464b0a27e9de3dd119f4ffef2e","src/make_ule.rs":"632d21f065728cc3cbdf6ae2cce9181ec72cd54ecdb51baf72d25624ebc1b4d6","src/make_varule.rs":"756384f6f8ae5a40e2a1b02f47bc804f110a907413ea6470152cca13ea912202","src/ule.rs":"f70d237e2ab1732a83e9f6e9cb22d5059f2b3daa2f3616679a9b48555faf70da","src/utils.rs":"72b0d93de4592d1ac4ccd672239385975e7075ff88ea2e1f604cf974d8642f4c","src/varule.rs":"40ddff54a63c902774f75a586dc0d704862e503d270aee3eadcddb8c738b7e67"},"package":"6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"}
|
||||||
2
third_party/rust/zerovec-derive/Cargo.lock
generated
vendored
2
third_party/rust/zerovec-derive/Cargo.lock
generated
vendored
@@ -91,7 +91,7 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zerovec-derive"
|
name = "zerovec-derive"
|
||||||
version = "0.10.2"
|
version = "0.10.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
|
|||||||
2
third_party/rust/zerovec-derive/Cargo.toml
vendored
2
third_party/rust/zerovec-derive/Cargo.toml
vendored
@@ -12,7 +12,7 @@
|
|||||||
[package]
|
[package]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
name = "zerovec-derive"
|
name = "zerovec-derive"
|
||||||
version = "0.10.2"
|
version = "0.10.3"
|
||||||
authors = ["Manish Goregaokar <manishsmail@gmail.com>"]
|
authors = ["Manish Goregaokar <manishsmail@gmail.com>"]
|
||||||
description = "Custom derive for the zerovec crate"
|
description = "Custom derive for the zerovec crate"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use zerovec::ule::AsULE;
|
|||||||
use zerovec::ule::EncodeAsVarULE;
|
use zerovec::ule::EncodeAsVarULE;
|
||||||
use zerovec::*;
|
use zerovec::*;
|
||||||
|
|
||||||
#[repr(packed)]
|
#[repr(C, packed)]
|
||||||
#[derive(ule::ULE, Copy, Clone)]
|
#[derive(ule::ULE, Copy, Clone)]
|
||||||
pub struct FooULE {
|
pub struct FooULE {
|
||||||
a: u8,
|
a: u8,
|
||||||
@@ -40,7 +40,7 @@ impl AsULE for Foo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(packed)]
|
#[repr(C, packed)]
|
||||||
#[derive(ule::VarULE)]
|
#[derive(ule::VarULE)]
|
||||||
pub struct RelationULE {
|
pub struct RelationULE {
|
||||||
/// This maps to (AndOr, Polarity, Operand),
|
/// This maps to (AndOr, Polarity, Operand),
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ fn make_ule_enum_impl(
|
|||||||
attrs: ZeroVecAttrs,
|
attrs: ZeroVecAttrs,
|
||||||
) -> TokenStream2 {
|
) -> TokenStream2 {
|
||||||
// We could support more int reprs in the future if needed
|
// We could support more int reprs in the future if needed
|
||||||
if !utils::has_valid_repr(&input.attrs, |r| r == "u8") {
|
if !utils::ReprInfo::compute(&input.attrs).u8 {
|
||||||
return Error::new(
|
return Error::new(
|
||||||
input.span(),
|
input.span(),
|
||||||
"#[make_ule] can only be applied to #[repr(u8)] enums",
|
"#[make_ule] can only be applied to #[repr(u8)] enums",
|
||||||
|
|||||||
4
third_party/rust/zerovec-derive/src/ule.rs
vendored
4
third_party/rust/zerovec-derive/src/ule.rs
vendored
@@ -10,10 +10,10 @@ use syn::spanned::Spanned;
|
|||||||
use syn::{Data, DeriveInput, Error};
|
use syn::{Data, DeriveInput, Error};
|
||||||
|
|
||||||
pub fn derive_impl(input: &DeriveInput) -> TokenStream2 {
|
pub fn derive_impl(input: &DeriveInput) -> TokenStream2 {
|
||||||
if !utils::has_valid_repr(&input.attrs, |r| r == "packed" || r == "transparent") {
|
if !utils::ReprInfo::compute(&input.attrs).cpacked_or_transparent() {
|
||||||
return Error::new(
|
return Error::new(
|
||||||
input.span(),
|
input.span(),
|
||||||
"derive(ULE) must be applied to a #[repr(packed)] or #[repr(transparent)] type",
|
"derive(ULE) must be applied to a #[repr(C, packed)] or #[repr(transparent)] type",
|
||||||
)
|
)
|
||||||
.to_compile_error();
|
.to_compile_error();
|
||||||
}
|
}
|
||||||
|
|||||||
42
third_party/rust/zerovec-derive/src/utils.rs
vendored
42
third_party/rust/zerovec-derive/src/utils.rs
vendored
@@ -11,14 +11,38 @@ use syn::punctuated::Punctuated;
|
|||||||
use syn::spanned::Spanned;
|
use syn::spanned::Spanned;
|
||||||
use syn::{Attribute, Error, Field, Fields, Ident, Index, Result, Token};
|
use syn::{Attribute, Error, Field, Fields, Ident, Index, Result, Token};
|
||||||
|
|
||||||
// Check that there are repr attributes satisfying the given predicate
|
#[derive(Default)]
|
||||||
pub fn has_valid_repr(attrs: &[Attribute], predicate: impl Fn(&Ident) -> bool + Copy) -> bool {
|
pub struct ReprInfo {
|
||||||
attrs.iter().filter(|a| a.path().is_ident("repr")).any(|a| {
|
pub c: bool,
|
||||||
a.parse_args::<IdentListAttribute>()
|
pub transparent: bool,
|
||||||
.ok()
|
pub u8: bool,
|
||||||
.and_then(|s| s.idents.iter().find(|s| predicate(s)).map(|_| ()))
|
pub packed: bool,
|
||||||
.is_some()
|
}
|
||||||
})
|
|
||||||
|
impl ReprInfo {
|
||||||
|
pub fn compute(attrs: &[Attribute]) -> Self {
|
||||||
|
let mut info = ReprInfo::default();
|
||||||
|
for attr in attrs.iter().filter(|a| a.path().is_ident("repr")) {
|
||||||
|
if let Ok(pieces) = attr.parse_args::<IdentListAttribute>() {
|
||||||
|
for piece in pieces.idents.iter() {
|
||||||
|
if piece == "C" || piece == "c" {
|
||||||
|
info.c = true;
|
||||||
|
} else if piece == "transparent" {
|
||||||
|
info.transparent = true;
|
||||||
|
} else if piece == "packed" {
|
||||||
|
info.packed = true;
|
||||||
|
} else if piece == "u8" {
|
||||||
|
info.u8 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
info
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn cpacked_or_transparent(self) -> bool {
|
||||||
|
(self.c && self.packed) || self.transparent
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// An attribute that is a list of idents
|
// An attribute that is a list of idents
|
||||||
@@ -60,7 +84,7 @@ pub fn repr_for(f: &Fields) -> TokenStream2 {
|
|||||||
if f.len() == 1 {
|
if f.len() == 1 {
|
||||||
quote!(transparent)
|
quote!(transparent)
|
||||||
} else {
|
} else {
|
||||||
quote!(packed)
|
quote!(C, packed)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ pub fn derive_impl(
|
|||||||
input: &DeriveInput,
|
input: &DeriveInput,
|
||||||
custom_varule_validator: Option<TokenStream2>,
|
custom_varule_validator: Option<TokenStream2>,
|
||||||
) -> TokenStream2 {
|
) -> TokenStream2 {
|
||||||
if !utils::has_valid_repr(&input.attrs, |r| r == "packed" || r == "transparent") {
|
if !utils::ReprInfo::compute(&input.attrs).cpacked_or_transparent() {
|
||||||
return Error::new(
|
return Error::new(
|
||||||
input.span(),
|
input.span(),
|
||||||
"derive(VarULE) must be applied to a #[repr(packed)] or #[repr(transparent)] type",
|
"derive(VarULE) must be applied to a #[repr(C, packed)] or #[repr(transparent)] type",
|
||||||
)
|
)
|
||||||
.to_compile_error();
|
.to_compile_error();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user