Commit f0954b76 authored by Emilio Cobos Álvarez's avatar Emilio Cobos Álvarez
Browse files

Bug 1587368 - Revendor rust dependencies.

This pulls syn and quote 1.0, but after talking with heycam it seems ok.


--HG--
rename : third_party/rust/proc-macro2/.cargo-checksum.json => third_party/rust/proc-macro2-0.4.27/.cargo-checksum.json
rename : third_party/rust/proc-macro2/Cargo.toml => third_party/rust/proc-macro2-0.4.27/Cargo.toml
rename : third_party/rust/proc-macro2/README.md => third_party/rust/proc-macro2-0.4.27/README.md
rename : third_party/rust/proc-macro2/build.rs => third_party/rust/proc-macro2-0.4.27/build.rs
rename : third_party/rust/proc-macro2/src/fallback.rs => third_party/rust/proc-macro2-0.4.27/src/fallback.rs
rename : third_party/rust/proc-macro2/src/lib.rs => third_party/rust/proc-macro2-0.4.27/src/lib.rs
rename : third_party/rust/proc-macro2/src/strnom.rs => third_party/rust/proc-macro2-0.4.27/src/strnom.rs
rename : third_party/rust/proc-macro2/src/wrapper.rs => third_party/rust/proc-macro2-0.4.27/src/wrapper.rs
rename : third_party/rust/proc-macro2/tests/marker.rs => third_party/rust/proc-macro2-0.4.27/tests/marker.rs
rename : third_party/rust/proc-macro2/tests/test.rs => third_party/rust/proc-macro2-0.4.27/tests/test.rs
rename : third_party/rust/quote/.cargo-checksum.json => third_party/rust/quote-0.6.11/.cargo-checksum.json
rename : third_party/rust/quote/Cargo.toml => third_party/rust/quote-0.6.11/Cargo.toml
rename : third_party/rust/quote/README.md => third_party/rust/quote-0.6.11/README.md
rename : third_party/rust/quote/src/ext.rs => third_party/rust/quote-0.6.11/src/ext.rs
rename : third_party/rust/quote/src/lib.rs => third_party/rust/quote-0.6.11/src/lib.rs
rename : third_party/rust/quote/src/to_tokens.rs => third_party/rust/quote-0.6.11/src/to_tokens.rs
rename : third_party/rust/quote/tests/conditional/integer128.rs => third_party/rust/quote-0.6.11/tests/conditional/integer128.rs
rename : third_party/rust/quote/tests/test.rs => third_party/rust/quote-0.6.11/tests/test.rs
rename : third_party/rust/syn/.cargo-checksum.json => third_party/rust/syn-0.15.30/.cargo-checksum.json
rename : third_party/rust/syn/Cargo.toml => third_party/rust/syn-0.15.30/Cargo.toml
rename : third_party/rust/syn/README.md => third_party/rust/syn-0.15.30/README.md
rename : third_party/rust/syn/build.rs => third_party/rust/syn-0.15.30/build.rs
rename : third_party/rust/syn/src/attr.rs => third_party/rust/syn-0.15.30/src/attr.rs
rename : third_party/rust/syn/src/buffer.rs => third_party/rust/syn-0.15.30/src/buffer.rs
rename : third_party/rust/syn/src/data.rs => third_party/rust/syn-0.15.30/src/data.rs
rename : third_party/rust/syn/src/derive.rs => third_party/rust/syn-0.15.30/src/derive.rs
rename : third_party/rust/syn/src/error.rs => third_party/rust/syn-0.15.30/src/error.rs
rename : third_party/rust/syn/src/export.rs => third_party/rust/syn-0.15.30/src/export.rs
rename : third_party/rust/syn/src/expr.rs => third_party/rust/syn-0.15.30/src/expr.rs
rename : third_party/rust/syn/src/ext.rs => third_party/rust/syn-0.15.30/src/ext.rs
rename : third_party/rust/syn/src/file.rs => third_party/rust/syn-0.15.30/src/file.rs
rename : third_party/rust/syn/src/gen/fold.rs => third_party/rust/syn-0.15.30/src/gen/fold.rs
rename : third_party/rust/syn/src/gen/visit.rs => third_party/rust/syn-0.15.30/src/gen/visit.rs
rename : third_party/rust/syn/src/gen/visit_mut.rs => third_party/rust/syn-0.15.30/src/gen/visit_mut.rs
rename : third_party/rust/syn/src/gen_helper.rs => third_party/rust/syn-0.15.30/src/gen_helper.rs
rename : third_party/rust/syn/src/generics.rs => third_party/rust/syn-0.15.30/src/generics.rs
rename : third_party/rust/syn/src/group.rs => third_party/rust/syn-0.15.30/src/group.rs
rename : third_party/rust/syn/src/ident.rs => third_party/rust/syn-0.15.30/src/ident.rs
rename : third_party/rust/syn/src/item.rs => third_party/rust/syn-0.15.30/src/item.rs
rename : third_party/rust/syn/src/keyword.rs => third_party/rust/syn-0.15.30/src/keyword.rs
rename : third_party/rust/syn/src/lib.rs => third_party/rust/syn-0.15.30/src/lib.rs
rename : third_party/rust/syn/src/lifetime.rs => third_party/rust/syn-0.15.30/src/lifetime.rs
rename : third_party/rust/syn/src/lit.rs => third_party/rust/syn-0.15.30/src/lit.rs
rename : third_party/rust/syn/src/lookahead.rs => third_party/rust/syn-0.15.30/src/lookahead.rs
rename : third_party/rust/syn/src/mac.rs => third_party/rust/syn-0.15.30/src/mac.rs
rename : third_party/rust/syn/src/macros.rs => third_party/rust/syn-0.15.30/src/macros.rs
rename : third_party/rust/syn/src/op.rs => third_party/rust/syn-0.15.30/src/op.rs
rename : third_party/rust/syn/src/parse.rs => third_party/rust/syn-0.15.30/src/parse.rs
rename : third_party/rust/syn/src/parse_macro_input.rs => third_party/rust/syn-0.15.30/src/parse_macro_input.rs
rename : third_party/rust/syn/src/parse_quote.rs => third_party/rust/syn-0.15.30/src/parse_quote.rs
rename : third_party/rust/syn/src/path.rs => third_party/rust/syn-0.15.30/src/path.rs
rename : third_party/rust/syn/src/print.rs => third_party/rust/syn-0.15.30/src/print.rs
rename : third_party/rust/syn/src/punctuated.rs => third_party/rust/syn-0.15.30/src/punctuated.rs
rename : third_party/rust/syn/src/spanned.rs => third_party/rust/syn-0.15.30/src/spanned.rs
rename : third_party/rust/syn/src/thread.rs => third_party/rust/syn-0.15.30/src/thread.rs
rename : third_party/rust/syn/src/token.rs => third_party/rust/syn-0.15.30/src/token.rs
rename : third_party/rust/syn/src/tt.rs => third_party/rust/syn-0.15.30/src/tt.rs
rename : third_party/rust/syn/src/ty.rs => third_party/rust/syn-0.15.30/src/ty.rs
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.10.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.10.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.10.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.10.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.10.1/src/macros.rs
rename : third_party/rust/unicode-xid/.cargo-checksum.json => third_party/rust/unicode-xid-0.1.0/.cargo-checksum.json
rename : third_party/rust/unicode-xid/Cargo.toml => third_party/rust/unicode-xid-0.1.0/Cargo.toml
rename : third_party/rust/unicode-xid/README.md => third_party/rust/unicode-xid-0.1.0/README.md
rename : third_party/rust/unicode-xid/scripts/unicode.py => third_party/rust/unicode-xid-0.1.0/scripts/unicode.py
rename : third_party/rust/unicode-xid/src/lib.rs => third_party/rust/unicode-xid-0.1.0/src/lib.rs
rename : third_party/rust/unicode-xid/src/tables.rs => third_party/rust/unicode-xid-0.1.0/src/tables.rs
rename : third_party/rust/unicode-xid/src/tests.rs => third_party/rust/unicode-xid-0.1.0/src/tests.rs
parent 5a6d7ed3
......@@ -807,34 +807,33 @@ dependencies = [
[[package]]
name = "darling"
version = "0.9.0"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"darling_macro 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"darling_core 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"darling_macro 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "darling_core"
version = "0.9.0"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
"ident_case 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "darling_macro"
version = "0.9.0"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
"darling_core 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
......@@ -859,11 +858,11 @@ dependencies = [
name = "derive_common"
version = "0.0.1"
dependencies = [
"darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
......@@ -2271,6 +2270,14 @@ dependencies = [
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "proc-macro2"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "procedural-masquerade"
version = "0.1.1"
......@@ -2316,6 +2323,14 @@ dependencies = [
"proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "quote"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rand"
version = "0.6.5"
......@@ -2946,12 +2961,12 @@ dependencies = [
name = "style_derive"
version = "0.0.1"
dependencies = [
"darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"derive_common 0.0.1",
"proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
......@@ -3007,6 +3022,16 @@ dependencies = [
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "syn"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "synstructure"
version = "0.10.1"
......@@ -3018,6 +3043,17 @@ dependencies = [
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "synstructure"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "target-lexicon"
version = "0.4.0"
......@@ -3144,12 +3180,12 @@ dependencies = [
name = "to_shmem_derive"
version = "0.0.1"
dependencies = [
"darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"derive_common 0.0.1",
"proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
......@@ -3379,6 +3415,11 @@ name = "unicode-xid"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-xid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unreachable"
version = "1.0.0"
......@@ -3841,9 +3882,9 @@ dependencies = [
"checksum cubeb-backend 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "54c14a298d865c7f454dd809b2feb1fdb361b0a143f8ed2ea0b3a9becfa0a2ea"
"checksum cubeb-core 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "20c6cde72d3505dc4f2452e0378b970b03d1fddf3ad8ac1b98dcb65fc7721907"
"checksum cubeb-sys 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "318d9b60d6d5de52f815882ab5405adedc0ac7e91414950eff27a440c2860a3b"
"checksum darling 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fcfbcb0c5961907597a7d1148e3af036268f2b773886b8bb3eeb1e1281d3d3d6"
"checksum darling_core 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6afc018370c3bff3eb51f89256a6bdb18b4fdcda72d577982a14954a7a0b402c"
"checksum darling_macro 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c6d8dac1c6f1d29a41c4712b4400f878cb4fcc4c7628f298dd75038e024998d1"
"checksum darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe629a532efad5526454efb0700f86d5ad7ff001acb37e431c8bf017a432a8e"
"checksum darling_core 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ee54512bec54b41cf2337a22ddfadb53c7d4c738494dc2a186d7b037ad683b85"
"checksum darling_macro 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cd3e432e52c0810b72898296a69d66b1d78d1517dff6cde7a130557a55a62c1"
"checksum dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b9e1b39f3f6aa3d4a1522c4f0f9f1e9e9167bd93740a8690874caa7cf8ce47d7"
"checksum deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6abb26e16e8d419b5c78662aa9f82857c2386a073da266840e474d5055ec86"
"checksum derive_more 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f57d78cf3bd45270dad4e70c21ec77a960b36c7a841ff9db76aaa775a8fb871"
......@@ -3964,9 +4005,11 @@ dependencies = [
"checksum podio 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e5422a1ee1bc57cc47ae717b0137314258138f38fd5f3cea083f43a9725383a0"
"checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
"checksum procedural-masquerade 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9f566249236c6ca4340f7ca78968271f0ed2b0f234007a61b66f9ecd0af09260"
"checksum quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eda5fe9b71976e62bc81b781206aaa076401769b2143379d3eb2118388babac4"
"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
......@@ -4030,7 +4073,9 @@ dependencies = [
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
"checksum svg_fmt 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c666f0fed8e1e20e057af770af9077d72f3d5a33157b8537c1475dd8ffd6d32b"
"checksum syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)" = "66c8865bf5a7cbb662d8b011950060b3c8743dca141b054bf7195b20d314d8e2"
"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
"checksum target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b0ab4982b8945c35cc1c46a83a9094c414f6828a099ce5dcaa8ee2b04642dcb"
"checksum target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7975cb2c6f37d77b190bc5004a2bb015971464756fde9514651a525ada2a741a"
"checksum tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7e91405c14320e5c79b3d148e1c86f40749a36e490642202a31689cb1a3452b2"
......@@ -4067,6 +4112,7 @@ dependencies = [
"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
"checksum url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
"checksum urlencoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3df3561629a8bb4c57e5a2e4c43348d9e29c7c29d9b1c4c1f47166deca8f37ed"
......
{"files":{"CHANGELOG.md":"625cb9ff905bb7bd60287f16f2ee5cf02422a2d30adee0a11190db4995b331ea","Cargo.toml":"4c383f964becb2555c6dbb318070e942055c89b45719ceefb0bfe6da647d5249","LICENSE":"8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6","README.md":"4999b473e69d92f51a82ab2d7ff89af5a49d16ad7ab9c6407d4bae08b2200c8d","examples/automatic_bounds.rs":"dcac3391ed568475cea17ec64c324283f9771dce61adb0a0dd7b8a9ee0bf954d","examples/consume_fields.rs":"ebf4bd8baf4e54ccaa926f910957183d6a5b1decaa87ab5ebcca6c8d38b6c6b3","examples/fallible_read.rs":"aa9d1e0aaba8f3eb4580e94e133839f7eb77fca61beed254f3d5e0f6d6981f00","examples/supports_struct.rs":"d69124e09d3d6b8e04a3af07a6af96c5df7cbd3d6953a51657b39088cc2c2de7","src/lib.rs":"07da20edb52c4aba30f2b680b28ca96cf995859566b0db3b1d2e0ee967249a18","src/macros_public.rs":"3ed7eb99f309d9cd600d3a09ff4dcf5cc5d787fb49e8e5ead6bb00e31e5e6793","tests/accrue_errors.rs":"f5ac2d8cb0a12284a845d25b9472c4605aa5e8c1cd66a6dd6ad64f1c749b2caf","tests/computed_bound.rs":"2313da96a250b5948ca06bf86cb7158b55a59eba75334aa8ba27a46b28ede6b5","tests/custom_bound.rs":"4dd3e8fd76734d8f262e857773f53a820229ad6e10fe6fbbbe1f636c7da9eab0","tests/defaults.rs":"b544be90d18be26305a757e8468bf8735356889b59c167294d118e32ee7f82ea","tests/enums_newtype.rs":"a09af70072e566bee1f6cad91675f3553c47333e51a0e389ebb47ae82de776a8","tests/enums_struct.rs":"e0097d7f947cf9e4612c9450c55ea5075c7f6fcbbf8cac7176449d92eebc9343","tests/enums_unit.rs":"8c075d5897b60b58cb71d6306e7fdd80851f5a147ae3010ba70ea100007364a3","tests/error.rs":"465f7634fa23f0076c93a9c5fc16ccde16119b874d64c8dabaf275b6b7ae61f2","tests/from_generics.rs":"79230ad21e8482cf6e6ceb0c74303bc0cdf77fbb951f46a6ba1006ecf1248fd5","tests/from_type_param.rs":"7c97745cdcea18a2d6f51e4da7426055a078287bf9f2c93d487057195efa2b30","tests/from_type_param_default.rs":"80787ef6527e7f76c2aac93b1f35a006a9c5e0df8deed61698eaac1127278021","tests/from_variant.rs":"2e804326302a62b979eae963e88f0a2cdb6a21ee9667407c361d178f8c0aadba","tests/generics.rs":"e08aea8a8de8f03e3c243bde650e250defbe340cef3e4c06935b2b3e46d2a376","tests/happy_path.rs":"c32daa68e2becdc2d6204985a19b437cfb49d7f1680e890578f0760dc9749b77","tests/multiple.rs":"0391be49bab07771d7e37d35fe17f6d9bf1aa6dc57e2c0e5c0912ab8e043128f","tests/newtype.rs":"3f029724467abc7a33aaf7b6a1feb7b6898eba578576afff338e73deb9fd2b3b","tests/skip.rs":"604861aa4d1dfdc4e5f38f8261be19b7240c650eb493b64ce0178f54c24a8d2d","tests/split_declaration.rs":"f509390f88549164af9218f1e5b07564b169a4481a20b738432ffb03c517b599","tests/suggestions.rs":"0afb756949be876aaae76974f119be811c783fb134a54978ff0453c537ff3174","tests/supports.rs":"8564709d7e63b124cda91f7e21c890037200e533d0403ffd7eb075403cf58926"},"package":"fcfbcb0c5961907597a7d1148e3af036268f2b773886b8bb3eeb1e1281d3d3d6"}
\ No newline at end of file
{"files":{"CHANGELOG.md":"9a83b921a832799b871634e4cca8a5c92cb9b901626009fc46c2f480db9e20f2","Cargo.toml":"6fa2ba78e86577539ad3ff71cb44109bf5b500d7b3b1c59f9484b61288546da7","LICENSE":"8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6","README.md":"5b591026cb7c3ed964d46779f323a2b45f89aa18d2bc5f63519126cb3b7efed9","examples/automatic_bounds.rs":"2540e6eb0761755737927a0e01d94956a1e9db04db67ae1aba3110415759fac4","examples/consume_fields.rs":"ebf4bd8baf4e54ccaa926f910957183d6a5b1decaa87ab5ebcca6c8d38b6c6b3","examples/fallible_read.rs":"aa9d1e0aaba8f3eb4580e94e133839f7eb77fca61beed254f3d5e0f6d6981f00","examples/supports_struct.rs":"d69124e09d3d6b8e04a3af07a6af96c5df7cbd3d6953a51657b39088cc2c2de7","src/lib.rs":"07da20edb52c4aba30f2b680b28ca96cf995859566b0db3b1d2e0ee967249a18","src/macros_public.rs":"3ed7eb99f309d9cd600d3a09ff4dcf5cc5d787fb49e8e5ead6bb00e31e5e6793","tests/accrue_errors.rs":"f5ac2d8cb0a12284a845d25b9472c4605aa5e8c1cd66a6dd6ad64f1c749b2caf","tests/computed_bound.rs":"2313da96a250b5948ca06bf86cb7158b55a59eba75334aa8ba27a46b28ede6b5","tests/custom_bound.rs":"4dd3e8fd76734d8f262e857773f53a820229ad6e10fe6fbbbe1f636c7da9eab0","tests/defaults.rs":"b544be90d18be26305a757e8468bf8735356889b59c167294d118e32ee7f82ea","tests/enums_newtype.rs":"a09af70072e566bee1f6cad91675f3553c47333e51a0e389ebb47ae82de776a8","tests/enums_struct.rs":"e0097d7f947cf9e4612c9450c55ea5075c7f6fcbbf8cac7176449d92eebc9343","tests/enums_unit.rs":"8c075d5897b60b58cb71d6306e7fdd80851f5a147ae3010ba70ea100007364a3","tests/error.rs":"465f7634fa23f0076c93a9c5fc16ccde16119b874d64c8dabaf275b6b7ae61f2","tests/from_generics.rs":"79230ad21e8482cf6e6ceb0c74303bc0cdf77fbb951f46a6ba1006ecf1248fd5","tests/from_type_param.rs":"7c97745cdcea18a2d6f51e4da7426055a078287bf9f2c93d487057195efa2b30","tests/from_type_param_default.rs":"80787ef6527e7f76c2aac93b1f35a006a9c5e0df8deed61698eaac1127278021","tests/from_variant.rs":"2e804326302a62b979eae963e88f0a2cdb6a21ee9667407c361d178f8c0aadba","tests/generics.rs":"e08aea8a8de8f03e3c243bde650e250defbe340cef3e4c06935b2b3e46d2a376","tests/happy_path.rs":"c32daa68e2becdc2d6204985a19b437cfb49d7f1680e890578f0760dc9749b77","tests/multiple.rs":"0391be49bab07771d7e37d35fe17f6d9bf1aa6dc57e2c0e5c0912ab8e043128f","tests/newtype.rs":"3f029724467abc7a33aaf7b6a1feb7b6898eba578576afff338e73deb9fd2b3b","tests/skip.rs":"604861aa4d1dfdc4e5f38f8261be19b7240c650eb493b64ce0178f54c24a8d2d","tests/split_declaration.rs":"f509390f88549164af9218f1e5b07564b169a4481a20b738432ffb03c517b599","tests/suggestions.rs":"0afb756949be876aaae76974f119be811c783fb134a54978ff0453c537ff3174","tests/supports.rs":"8564709d7e63b124cda91f7e21c890037200e533d0403ffd7eb075403cf58926"},"package":"3fe629a532efad5526454efb0700f86d5ad7ff001acb37e431c8bf017a432a8e"}
\ No newline at end of file
# Changelog
## v0.10.1 (September 25, 2019)
- Fix test compilation errors [#81](https://github.com/TedDriggs/darling/pull/81)
## v0.10.0 (August 15, 2019)
- Bump syn and quote to 1.0 [#79](https://github.com/TedDriggs/darling/pull/79)
- Increase rust version to 1.31
## v0.9.0 (March 20, 2019)
- Enable "did you mean" suggestions by default
- Make `darling_core::{codegen, options}` private [#58](https://github.com/TedDriggs/darling/issues/58)
......
......@@ -3,7 +3,7 @@
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g. crates.io) dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
......@@ -12,27 +12,27 @@
[package]
name = "darling"
version = "0.9.0"
version = "0.10.1"
authors = ["Ted Driggs <ted.driggs@outlook.com>"]
exclude = ["/.travis.yml", "/publish.sh"]
description = "A proc-macro library for reading attributes into structs when\nimplementing custom derives.\n"
documentation = "https://docs.rs/darling/0.9.0"
documentation = "https://docs.rs/darling/0.10.1"
readme = "README.md"
license = "MIT"
repository = "https://github.com/TedDriggs/darling"
[dependencies.darling_core]
version = "=0.9.0"
version = "=0.10.1"
[dependencies.darling_macro]
version = "=0.9.0"
version = "=0.10.1"
[dev-dependencies.proc-macro2]
version = "0.4"
version = "1"
[dev-dependencies.quote]
version = "0.6"
version = "1"
[dev-dependencies.syn]
version = "0.15.26"
version = "1"
[features]
default = ["suggestions"]
......
......@@ -3,7 +3,7 @@ Darling
[![Build Status](https://travis-ci.org/TedDriggs/darling.svg?branch=master)](https://travis-ci.org/TedDriggs/darling)
[![Latest Version](https://img.shields.io/crates/v/darling.svg)](https://crates.io/crates/darling)
[![Rustc Version 1.18+](https://img.shields.io/badge/rustc-1.18+-lightgray.svg)](https://blog.rust-lang.org/2017/06/08/Rust-1.18.html)
[![Rustc Version 1.31+](https://img.shields.io/badge/rustc-1.31+-lightgray.svg)](https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html)
`darling` is a crate for proc macro authors, which enables parsing attributes into structs. It is heavily inspired by `serde` both in its internals and in its API.
......
......@@ -19,7 +19,7 @@ enum Volume {
#[allow(dead_code)]
enum Emphasis<T> {
Constant(Volume),
Variable(darling::util::IdentList),
Variable(darling::util::PathList),
#[darling(skip)]
PerPhoneme(Option<T>),
Strided {
......
{"files":{"Cargo.toml":"a1719da826076d2895c20ded33666c57b8f1f6bdce5e1230cf62a950057fe891","LICENSE":"8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6","src/ast/data.rs":"73a6b7a679011135dfee25af462163b3fe3f3effdf028c440aa6e3e4b5ff079f","src/ast/generics.rs":"3bdfe1abdbee64f5aaa9b189dc5c58e222568f196ed206e9d6d91ea5f29673e7","src/ast/mod.rs":"58a58eeb1db7682e5994732cc8eb04088f6ca662805460ef443cf089e5c24e2c","src/codegen/attr_extractor.rs":"439950febbf04b139b578eb75ad70e1529a2bd6e5480f936e08770e9e354d9ac","src/codegen/default_expr.rs":"60f23b77ddf80da70ec92fd0d8cb5a97143535df85eafa0e47943ac797ec46d2","src/codegen/error.rs":"1a415136f93adde7458e39cab91413adc9a64243b718c7b74fdeba748959b5af","src/codegen/field.rs":"82104df8f3e733b23764fd6683e60d24ce62912b8b29a22dadbbc55d6a42f158","src/codegen/from_derive_impl.rs":"2a1e331d205db9334218b800760afcb64539fa2b25b0b2b014586b49b5b25882","src/codegen/from_field.rs":"af6f848ed7c6d2274e15d6307b011a1b8bcba66172ef68b0e665c9b4ae85157d","src/codegen/from_meta_impl.rs":"f769e1288aaa218303c987a2fba9286b93a104106fba63277e134ce19cd1047c","src/codegen/from_type_param.rs":"48493227f4a81fe1a533bd958b89207d56b1c70f754a2a28fb0e9eb9114a9aeb","src/codegen/from_variant_impl.rs":"3d9b10d60e3eb969946bbd210ce93a43375b9c8d3ffa827c7e87ab9235e2c3f3","src/codegen/mod.rs":"2dc3ee7f18177b2ef9c27c4f0cabc5bbd49f970abdba28a0539d81c70d81b6e2","src/codegen/outer_from_impl.rs":"9a91e67986787df1e0249559dd287e87b6fbfd757bd5f2632f43777b14a7d690","src/codegen/trait_impl.rs":"94c6f8a190ab2957ddae55745184e056ec5e43e9c552f492a3cb2f387dfb4a6a","src/codegen/variant.rs":"69ee861a63e31feb158611e93d0a355fdd94d6c8f3adc6c550864b7f5906d0ba","src/codegen/variant_data.rs":"2baa4328f01f6cdff008538a1492eb9fb5af2a88883a816ae6da7db3dc67b39e","src/derive.rs":"89180c13798b61510a6d266781e065114b75ca0be27e172a24656347b9baf1d3","src/error/kind.rs":"877f025ff72839ede46b8c7460331dac32ec56a7539816820179110381f8d0fb","src/error/mod.rs":"8cc8b1fe44e775fc6a26b4f83711cd89ac31ba2673889f6ca7090b29365e1f1f","src/from_derive_input.rs":"b2a04fefa4e14684061c819387ea0384297c67c7f50d5d0959aa69ab19075e76","src/from_field.rs":"f667924422ab4ab8d8b16ebfd42f61e74864cfaa80e96b49de5d1e1287e3d1d3","src/from_generic_param.rs":"49c5a8335eb0a9010998c5600c95c89440f7febe03265afb625d818dbc883d92","src/from_generics.rs":"7285b0fd213507e87c1da413cd1bc9eeada485d4a8f9d19630848d02a4d41c4a","src/from_meta.rs":"d3847786280239d5e4260e2b88cb9986cb6feaaa1d3a2e2fb0678956eb936363","src/from_type_param.rs":"9b611f276871002ade78146266fde3b6f9101b360082681a2fa2dafc16431f84","src/from_variant.rs":"70a23b5b4cb93c7e5a498fe9d16420b9b93bd69c1376d7703bc7cefd9417d159","src/lib.rs":"337ce983fd49548c60bc0d8662f6d279daec1964c79b123453340158d55d39ab","src/macros_private.rs":"ef249cd9ca593aac423b4242df1c39c31610438da094c21562d74a7e5823c700","src/macros_public.rs":"3ed7eb99f309d9cd600d3a09ff4dcf5cc5d787fb49e8e5ead6bb00e31e5e6793","src/options/core.rs":"925a95513f7a6b9121f63998b1195f52f3bb9d76341ffa7544520443c77d9fe4","src/options/forward_attrs.rs":"89d8294a2204d6c32e5f58b797c23f4b035a8ff424bcf1b1c7db973ada89a4bc","src/options/from_derive.rs":"a53c5c991b5e25fdff47e9cb3f3f5aa48020e931546e7851bbd0711f98e9084c","src/options/from_field.rs":"67f338df3ffc270b3baf08b35cbe985802a65c1360c4e540cc5b937f6f08f915","src/options/from_meta.rs":"81a2ae765d390f64fbcbb1d30d40e895d77f8cd4f4c5f7167b1eacb48e066195","src/options/from_type_param.rs":"d3c8add6c8f5f7ee3d4a487c53e1f85002a2da43b943c03d4ce856fa6e7c8453","src/options/from_variant.rs":"84bd6294ebefe128c755f4cce1ef10117535435d4a2f631125b8d59170677cb4","src/options/input_field.rs":"094ef2865bbfba00e6894463f3440f523c3d1c53f938a414b23f9c78f7b1e01d","src/options/input_variant.rs":"6760a47a1d415b29c54202255a3937dd743e9e247cd8fe31767124b8b01d06db","src/options/mod.rs":"8fe5c94c3999d210cb024c6f6b181da92a0cc1a4a862e5d46ec49904c6692e11","src/options/outer_from.rs":"e60196f2b9ea3ae014eaf3444607c6cf2a227c8d8aa4a5d64f59454602a0a5e6","src/options/shape.rs":"313f2da39554e39c4a937065703f69bdfaaf3e06b259a13b24c2129da2e52188","src/usage/generics_ext.rs":"340774fe43033680e6b494c76dd4f558ada7ca4f09e91f9e4d076f125a729fc2","src/usage/ident_set.rs":"30edb2f0a599284967e3c6b579da31e5f9b15f3dd67bc9a82d6335eb44133df0","src/usage/lifetimes.rs":"6ac25eb43b291414c274785d26912b0213e0b1d0d29d722cd4ffd915d4a58709","src/usage/mod.rs":"e49adadfa8ffed27299d5bbf3c33e68e2c8c7411f89aef655f77e158be9dd642","src/usage/options.rs":"0491c995aad0d55783b24cce8a4e40f0f4435988c54ce2ded34763ac9b199fcf","src/usage/type_params.rs":"0f4376ee9322d2c319ae15f41223595c72cb8a453a097879c2a0ee7f602c2f8c","src/util/ident_list.rs":"4107c390f43e79cca899610a47e339a80390e53b127cb5df6950d1528e0bc4ed","src/util/ident_string.rs":"2b7fdbe9664c2e306114ffa830fde9710d849a0240029636cbb244457795b13f","src/util/ignored.rs":"7c979fbef880498ff64efda7396e759d80bf77fb1c7df0313bed8e533a16c0e0","src/util/mod.rs":"32b6df88e22444e44662ad745bb199df22964795194d2860c67c8b91a9a61a06","src/util/over_ride.rs":"5750d284d46c6a51522e908b642c8f09cd6e48c91fd25077f24ce75989525560","src/util/spanned_value.rs":"3938cfc5169237cde1f19d65b653e1da8699663d1abfcf005359d48bbcee7d0b","src/util/with_original.rs":"a545b38ba9d624fdc939eb844f001b7fc4102717b1d3683b4cbd0aae00fa7ef2"},"package":"6afc018370c3bff3eb51f89256a6bdb18b4fdcda72d577982a14954a7a0b402c"}
\ No newline at end of file
{"files":{"Cargo.toml":"550d5451a115c7cb8118c0a038e12b1b97ddcefeee0303438296b86aacbe84e5","LICENSE":"8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6","src/ast/data.rs":"73a6b7a679011135dfee25af462163b3fe3f3effdf028c440aa6e3e4b5ff079f","src/ast/generics.rs":"3bdfe1abdbee64f5aaa9b189dc5c58e222568f196ed206e9d6d91ea5f29673e7","src/ast/mod.rs":"58a58eeb1db7682e5994732cc8eb04088f6ca662805460ef443cf089e5c24e2c","src/codegen/attr_extractor.rs":"d49605dbea8e95d64a9859a8beef5cf678390ffc5ba76ec77d69913f650ba974","src/codegen/default_expr.rs":"60f23b77ddf80da70ec92fd0d8cb5a97143535df85eafa0e47943ac797ec46d2","src/codegen/error.rs":"1a415136f93adde7458e39cab91413adc9a64243b718c7b74fdeba748959b5af","src/codegen/field.rs":"82104df8f3e733b23764fd6683e60d24ce62912b8b29a22dadbbc55d6a42f158","src/codegen/from_derive_impl.rs":"7cc03ffcc65e8e06dbf9d469502dc4ddd8772a2177dbf6404ad32d306379f777","src/codegen/from_field.rs":"a77abdb024b9a884dcdfda758ab072f26d5fae12eb67a3deb3dc47c6be2f2390","src/codegen/from_meta_impl.rs":"8fc08e65736efaf82b7aa2ce7e20c1a4235a94840353b860d6e782606c92ce18","src/codegen/from_type_param.rs":"c9cdb902d72f2ec047aeaa5217c2cda551d6cfc570f51ae4420907d6b398d9e7","src/codegen/from_variant_impl.rs":"1b44e10d8a0c43b1dcb7d66d1ced74ffab7f7beaa680031c11cfd4ab1abb39bf","src/codegen/mod.rs":"2dc3ee7f18177b2ef9c27c4f0cabc5bbd49f970abdba28a0539d81c70d81b6e2","src/codegen/outer_from_impl.rs":"41f5b6b4fb9185f88eaab3fbeed8b07e5791d04f265ee3c77e874a869fac7e1a","src/codegen/trait_impl.rs":"94c6f8a190ab2957ddae55745184e056ec5e43e9c552f492a3cb2f387dfb4a6a","src/codegen/variant.rs":"69ee861a63e31feb158611e93d0a355fdd94d6c8f3adc6c550864b7f5906d0ba","src/codegen/variant_data.rs":"bf17078e1bfeb35fae88b6ba124d730a27028ab75a422b247bbe09022c5f84d1","src/derive.rs":"89180c13798b61510a6d266781e065114b75ca0be27e172a24656347b9baf1d3","src/error/kind.rs":"877f025ff72839ede46b8c7460331dac32ec56a7539816820179110381f8d0fb","src/error/mod.rs":"a440321a7d7d76ecdbd100a8a4ac94d231fdf4e58a8758d09c115d6d7e297601","src/from_derive_input.rs":"b2a04fefa4e14684061c819387ea0384297c67c7f50d5d0959aa69ab19075e76","src/from_field.rs":"f667924422ab4ab8d8b16ebfd42f61e74864cfaa80e96b49de5d1e1287e3d1d3","src/from_generic_param.rs":"49c5a8335eb0a9010998c5600c95c89440f7febe03265afb625d818dbc883d92","src/from_generics.rs":"7285b0fd213507e87c1da413cd1bc9eeada485d4a8f9d19630848d02a4d41c4a","src/from_meta.rs":"11cd84155ab7ac2f20eb5eb6b297be3606871bf5ee10fa529cbb6e370fe9ab68","src/from_type_param.rs":"9b611f276871002ade78146266fde3b6f9101b360082681a2fa2dafc16431f84","src/from_variant.rs":"70a23b5b4cb93c7e5a498fe9d16420b9b93bd69c1376d7703bc7cefd9417d159","src/lib.rs":"337ce983fd49548c60bc0d8662f6d279daec1964c79b123453340158d55d39ab","src/macros_private.rs":"ef249cd9ca593aac423b4242df1c39c31610438da094c21562d74a7e5823c700","src/macros_public.rs":"3ed7eb99f309d9cd600d3a09ff4dcf5cc5d787fb49e8e5ead6bb00e31e5e6793","src/options/core.rs":"02659124b387437daf3b7d6c841a07478dc39a5a626e8ac4b7703e48c6675f6d","src/options/forward_attrs.rs":"a8bb729d8096dd467f23d55c5b4f09e1b8f329181b7d63c75b10fb51518277fd","src/options/from_derive.rs":"e3e13549d327169a64e831612c370662d09465e11690a3e8a6d029591dba3c8b","src/options/from_field.rs":"67f338df3ffc270b3baf08b35cbe985802a65c1360c4e540cc5b937f6f08f915","src/options/from_meta.rs":"81a2ae765d390f64fbcbb1d30d40e895d77f8cd4f4c5f7167b1eacb48e066195","src/options/from_type_param.rs":"d3c8add6c8f5f7ee3d4a487c53e1f85002a2da43b943c03d4ce856fa6e7c8453","src/options/from_variant.rs":"6b2d0b37c9f66ff59b2ac74c51bc7c968a44c2f4812baf428ed2f6801a474704","src/options/input_field.rs":"6e09c3432c63130a7def5cd1c4ba2d9ae2f692e58f82224e96f1212f09d2adb5","src/options/input_variant.rs":"94050b9185838296b7eb6ffacf41472cbff63461162b0005ca07c9a792c749ac","src/options/mod.rs":"8fe5c94c3999d210cb024c6f6b181da92a0cc1a4a862e5d46ec49904c6692e11","src/options/outer_from.rs":"648e3005f19b38299284df954b371fba9cea2fab39a6cfd6b54b5437b4200599","src/options/shape.rs":"03ca937d0c158e96337731517b8cfbc839f536e691f2f31713222bd228b49e07","src/usage/generics_ext.rs":"340774fe43033680e6b494c76dd4f558ada7ca4f09e91f9e4d076f125a729fc2","src/usage/ident_set.rs":"30edb2f0a599284967e3c6b579da31e5f9b15f3dd67bc9a82d6335eb44133df0","src/usage/lifetimes.rs":"35546bd524c38cbae2366e59ac2d836fe09af8e59aa99c7992d1e4d725364db7","src/usage/mod.rs":"e49adadfa8ffed27299d5bbf3c33e68e2c8c7411f89aef655f77e158be9dd642","src/usage/options.rs":"0491c995aad0d55783b24cce8a4e40f0f4435988c54ce2ded34763ac9b199fcf","src/usage/type_params.rs":"c46323838a5e1e87a1a75878314a8b1217e8d63d27a5067961c3b908842d248b","src/util/ident_string.rs":"2b7fdbe9664c2e306114ffa830fde9710d849a0240029636cbb244457795b13f","src/util/ignored.rs":"7c979fbef880498ff64efda7396e759d80bf77fb1c7df0313bed8e533a16c0e0","src/util/mod.rs":"9d8fef190513b6ab675a6ea3cf7e2841d2204fd38d8d55b10cc915d583491982","src/util/over_ride.rs":"5750d284d46c6a51522e908b642c8f09cd6e48c91fd25077f24ce75989525560","src/util/path_list.rs":"4d14eef07b6e3a3e69a539c49b3f25d477e79bd55594cd7324fda3b86784b0f5","src/util/spanned_value.rs":"3938cfc5169237cde1f19d65b653e1da8699663d1abfcf005359d48bbcee7d0b","src/util/with_original.rs":"a545b38ba9d624fdc939eb844f001b7fc4102717b1d3683b4cbd0aae00fa7ef2"},"package":"ee54512bec54b41cf2337a22ddfadb53c7d4c738494dc2a186d7b037ad683b85"}
\ No newline at end of file
......@@ -3,7 +3,7 @@
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g. crates.io) dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
......@@ -12,7 +12,7 @@
[package]
name = "darling_core"
version = "0.9.0"
version = "0.10.1"
authors = ["Ted Driggs <ted.driggs@outlook.com>"]
description = "Helper crate for proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n"
license = "MIT"
......@@ -24,17 +24,17 @@ version = "1.0.6"
version = "1.0.0"
[dependencies.proc-macro2]
version = "0.4.26"
version = "1"
[dependencies.quote]
version = "0.6"
version = "1"
[dependencies.strsim]
version = "0.7.0"
version = "0.9.0"
optional = true
[dependencies.syn]
version = "0.15.26"
version = "1"
features = ["full", "extra-traits"]
[features]
......
use proc_macro2::TokenStream;
use options::ForwardAttrs;
use util::IdentList;
use util::PathList;
/// Infrastructure for generating an attribute extractor.
pub trait ExtractAttribute {
......@@ -14,7 +14,7 @@ pub trait ExtractAttribute {
fn immutable_declarations(&self) -> TokenStream;
/// Gets the list of attribute names that should be parsed by the extractor.
fn attr_names(&self) -> &IdentList;
fn attr_names(&self) -> &PathList;
fn forwarded_attrs(&self) -> Option<&ForwardAttrs>;
......@@ -57,7 +57,7 @@ pub trait ExtractAttribute {
let core_loop = self.core_loop();
quote!(
#(#attr_names)|* => {
if let ::darling::export::Some(::syn::Meta::List(ref __data)) = __attr.interpret_meta() {
if let ::darling::export::Ok(::syn::Meta::List(ref __data)) = __attr.parse_meta() {
let __items = &__data.nested;
#core_loop
......
......@@ -5,7 +5,7 @@ use syn::{self, Ident};
use ast::Data;
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::{ForwardAttrs, Shape};
use util::IdentList;
use util::PathList;
pub struct FromDeriveInputImpl<'a> {
pub ident: Option<&'a Ident>,
......@@ -14,7 +14,7 @@ pub struct FromDeriveInputImpl<'a> {
pub attrs: Option<&'a Ident>,
pub data: Option<&'a Ident>,
pub base: TraitImpl<'a>,
pub attr_names: &'a IdentList,
pub attr_names: &'a PathList,
pub forward_attrs: Option<&'a ForwardAttrs>,
pub from_ident: bool,
pub supports: Option<&'a Shape>,
......@@ -106,7 +106,7 @@ impl<'a> ToTokens for FromDeriveInputImpl<'a> {
}
impl<'a> ExtractAttribute for FromDeriveInputImpl<'a> {
fn attr_names(&self) -> &IdentList {
fn attr_names(&self) -> &PathList {
&self.attr_names
}
......
......@@ -4,7 +4,7 @@ use syn::{self, Ident};
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::ForwardAttrs;
use util::IdentList;
use util::PathList;
/// `impl FromField` generator. This is used for parsing an individual
/// field and its attributes.
......@@ -14,7 +14,7 @@ pub struct FromFieldImpl<'a> {
pub ty: Option<&'a Ident>,
pub attrs: Option<&'a Ident>,
pub base: TraitImpl<'a>,
pub attr_names: &'a IdentList,
pub attr_names: &'a PathList,
pub forward_attrs: Option<&'a ForwardAttrs>,
pub from_ident: bool,
}
......@@ -75,7 +75,7 @@ impl<'a> ToTokens for FromFieldImpl<'a> {
}
impl<'a> ExtractAttribute for FromFieldImpl<'a> {
fn attr_names(&self) -> &IdentList {
fn attr_names(&self) -> &PathList {
&self.attr_names
}
......
......@@ -99,7 +99,7 @@ impl<'a> ToTokens for FromMetaImpl<'a> {
0 => ::darling::export::Err(::darling::Error::too_few_items(1)),
1 => {
if let ::syn::NestedMeta::Meta(ref __nested) = __outer[0] {
match __nested.name().to_string().as_ref() {
match __nested.path().segments.iter().map(|s| s.ident.to_string()).collect::<Vec<String>>().join("::").as_ref() {
#(#struct_arms)*
__other => ::darling::export::Err(::darling::Error::#unknown_variant_err.with_span(__nested))
}
......
......@@ -4,7 +4,7 @@ use syn::{self, Ident};
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::ForwardAttrs;
use util::IdentList;
use util::PathList;
pub struct FromTypeParamImpl<'a> {
pub base: TraitImpl<'a>,
......@@ -12,7 +12,7 @@ pub struct FromTypeParamImpl<'a> {
pub attrs: Option<&'a Ident>,
pub bounds: Option<&'a Ident>,
pub default: Option<&'a Ident>,
pub attr_names: &'a IdentList,
pub attr_names: &'a PathList,
pub forward_attrs: Option<&'a ForwardAttrs>,
pub from_ident: bool,
}
......@@ -74,7 +74,7 @@ impl<'a> ToTokens for FromTypeParamImpl<'a> {
}
impl<'a> ExtractAttribute for FromTypeParamImpl<'a> {
fn attr_names(&self) -> &IdentList {
fn attr_names(&self) -> &PathList {
&self.attr_names
}
......
......@@ -4,14 +4,14 @@ use syn::{self, Ident};
use codegen::{ExtractAttribute, OuterFromImpl, TraitImpl};
use options::{DataShape, ForwardAttrs};
use util::IdentList;
use util::PathList;
pub struct FromVariantImpl<'a> {
pub base: TraitImpl<'a>,
pub ident: Option<&'a Ident>,
pub fields: Option<&'a Ident>,
pub attrs: Option<&'a Ident>,
pub attr_names: &'a IdentList,
pub attr_names: &'a PathList,
pub forward_attrs: Option<&'a ForwardAttrs>,
pub from_ident: bool,
pub supports: Option<&'a DataShape>,
......@@ -86,7 +86,7 @@ impl<'a> ExtractAttribute for FromVariantImpl<'a> {
self.base.immutable_declarations()
}
fn attr_names(&self) -> &IdentList {
fn attr_names(&self) -> &PathList {
&self.attr_names
}
......
......@@ -48,7 +48,7 @@ fn compute_impl_bounds(bound: Path, mut generics: Generics, applies_to: &IdentSe
path: bound,
});
for mut param in generics.params.iter_mut() {
for param in generics.params.iter_mut() {
if let GenericParam::Type(ref mut typ) = *param {
if applies_to.contains(&typ.ident) {
typ.bounds.push(added_bound.clone());
......
......@@ -46,6 +46,7 @@ impl<'a> FieldsGen<'a> {
quote!(unknown_field(__other))
} else {
let names = self.fields.as_ref().map(Field::as_name);
let names = names.iter();
quote!(unknown_field_with_alts(__other, &[#(#names),*]))
};
......@@ -53,11 +54,12 @@ impl<'a> FieldsGen<'a> {
__errors.push(::darling::Error::#err_fn.with_span(__inner));
}
};
let arms = arms.iter();
quote!(
for __item in __items {
if let ::syn::NestedMeta::Meta(ref __inner) = *__item {
let __name = __inner.name().to_string();
let __name = __inner.path().segments.iter().map(|s| s.ident.to_string()).collect::<Vec<String>>().join("::");
match __name.as_str() {
#(#arms)*
__other => { #handle_unknown }
......@@ -82,6 +84,7 @@ impl<'a> FieldsGen<'a> {
pub(in codegen) fn initializers(&self) -> TokenStream {
let inits = self.fields.as_ref().map(Field::as_initializer);
let inits = inits.iter();
quote!(#(#inits),*)
}
......
......@@ -13,7 +13,7 @@ use std::iter::{self, Iterator};
use std::string::ToString;
use std::vec;
use syn::spanned::Spanned;
use syn::{Lit, LitStr};
use syn::{Lit, LitStr, Path};
mod kind;
......@@ -35,6 +35,11 @@ pub struct Error {
span: Option<Span>,
}
/// Transform a syn::Path to a readable String
fn path_to_string(path: &syn::Path) -> String {
path.segments.iter().map(|s| s.ident.to_string()).collect::<Vec<String>>().join("::")
}
/// Error creation functions
impl Error {
pub(in error) fn new(kind: ErrorKind) -> Self {
......@@ -55,6 +60,12 @@ impl Error {
Error::new(ErrorKind::DuplicateField(name.into()))
}
/// Creates a new error for a field that appears twice in the input. Helper to avoid repeating
/// the syn::Path to String conversion.
pub fn duplicate_field_path(path: &Path) -> Self {
Error::duplicate_field(&path_to_string(path))
}
/// Creates a new error for a non-optional field that does not appear in the input.
pub fn missing_field(name: &str) -> Self {
Error::new(ErrorKind::MissingField(name.into()))
......@@ -66,6 +77,12 @@ impl Error {
Error::new(ErrorKind::UnknownField(name.into()))
}
/// Creates a new error for a field name that appears in the input but does not correspond
/// to a known field. Helper to avoid repeating the syn::Path to String conversion.
pub fn unknown_field_path(path: &Path) -> Self {
Error::unknown_field(&path_to_string(path))
}
/// Creates a new error for a field name that appears in the input but does not correspond to
/// a known attribute. The second argument is the list of known attributes; if a similar name
/// is found that will be shown in the emitted error message.
......@@ -227,6 +244,13 @@ impl Error {
self
}
/// Adds a location to the error, such as a field or variant.
/// Locations must be added in reverse order of specificity. This is a helper function to avoid
/// repeating path to string logic.
pub fn at_path(self, path: &Path) -> Self {
self.at(path_to_string(path))
}
/// Gets the number of individual errors in this error.
///
/// This function never returns `0`, as it's impossible to construct
......
......@@ -44,7 +44,7 @@ use {Error, Result};
pub trait FromMeta: Sized {
fn from_nested_meta(item: &NestedMeta) -> Result<Self> {
(match *item {
NestedMeta::Literal(ref lit) => Self::from_value(lit),
NestedMeta::Lit(ref lit) => Self::from_value(lit),
NestedMeta::Meta(ref mi) => Self::from_meta(mi),