diff --git a/CREDITS.md b/CREDITS.md index 1f763a6..bc67267 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,74 +1,83 @@ # Project Dependencies Package: cargo-bashman - Version: 0.6.0 - Generated: 2024-10-28 06:22:47 UTC + Version: 0.6.1 + Target: x86_64-unknown-linux-gnu + Generated: 2024-10-31 05:58:06 UTC | Package | Version | Author(s) | License | Context | | ---- | ---- | ---- | ---- | ---- | -| [adbyss_psl](https://github.com/Blobfolio/adbyss) | 0.14.0 | [Josh Stoik](mailto:josh@blobfolio.com) | WTFPL | | -| [argyle](https://github.com/Blobfolio/argyle) | 0.10.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [camino](https://github.com/camino-rs/camino) | 1.1.9 | [Without Boats](mailto:saoirse@without.boats), [Ashley Williams](mailto:ashley666ashley@gmail.com), [Steve Klabnik](mailto:steve@steveklabnik.com), and [Rain](mailto:rain@sunshowers.io) | Apache-2.0 or MIT | | -| [cargo-platform](https://github.com/rust-lang/cargo) | 0.1.8 | | Apache-2.0 or MIT | | -| [cargo_metadata](https://github.com/oli-obk/cargo_metadata) | 0.18.1 | [Oliver Schneider](mailto:git-spam-no-reply9815368754983@oli-obk.de) | MIT | | -| [cc](https://github.com/rust-lang/cc-rs) | 1.1.31 | [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | build | -| [cfg-if](https://github.com/alexcrichton/cfg-if) | 1.0.0 | [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | | -| [dactyl](https://github.com/Blobfolio/dactyl) | 0.7.4 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [displaydoc](https://github.com/yaahc/displaydoc) | 0.2.5 | [Jane Lusby](mailto:jlusby@yaah.dev) | Apache-2.0 or MIT | | -| [equivalent](https://github.com/cuviper/equivalent) | 1.0.1 | | Apache-2.0 or MIT | | -| [fastrand](https://github.com/smol-rs/fastrand) | 2.1.1 | [Stjepan Glavina](mailto:stjepang@gmail.com) | Apache-2.0 or MIT | | -| [fyi_msg](https://github.com/Blobfolio/fyi) | 1.1.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [hashbrown](https://github.com/rust-lang/hashbrown) | 0.15.0 | [Amanieu d'Antras](mailto:amanieu@gmail.com) | Apache-2.0 or MIT | | -| [icu_collections](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_locid](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_locid_transform](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_locid_transform_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_normalizer](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_normalizer_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_properties](https://github.com/unicode-org/icu4x) | 1.5.1 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_properties_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_provider](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [icu_provider_macros](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | -| [idna](https://github.com/servo/rust-url/) | 1.0.2 | The rust-url developers | Apache-2.0 or MIT | | -| [indexmap](https://github.com/indexmap-rs/indexmap) | 2.6.0 | | Apache-2.0 or MIT | | -| [itoa](https://github.com/dtolnay/itoa) | 1.0.11 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [libdeflate-sys](https://github.com/adamkewley/libdeflater) | 1.22.0 | [Adam Kewley](mailto:contact@adamkewley.com) | Apache-2.0 | | -| [libdeflater](https://github.com/adamkewley/libdeflater) | 1.22.0 | [Adam Kewley](mailto:contact@adamkewley.com) | Apache-2.0 | | -| [litemap](https://github.com/unicode-org/icu4x) | 0.7.3 | The ICU4X Project Developers | Unicode-3.0 | | -| [memchr](https://github.com/BurntSushi/memchr) | 2.7.4 | [Andrew Gallant](mailto:jamslam@gmail.com) and bluss | MIT or Unlicense | | -| [once_cell](https://github.com/matklad/once_cell) | 1.20.2 | [Aleksey Kladov](mailto:aleksey.kladov@gmail.com) | Apache-2.0 or MIT | | -| [oxford_join](https://github.com/Blobfolio/oxford_join) | 0.4.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [proc-macro2](https://github.com/dtolnay/proc-macro2) | 1.0.89 | [David Tolnay](mailto:dtolnay@gmail.com) and [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | | -| [quote](https://github.com/dtolnay/quote) | 1.0.37 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [ryu](https://github.com/dtolnay/ryu) | 1.0.18 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or BSL-1.0 | | -| [semver](https://github.com/dtolnay/semver) | 1.0.23 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [serde](https://github.com/serde-rs/serde) | 1.0.213 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [serde_derive](https://github.com/serde-rs/serde) | 1.0.213 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [serde_json](https://github.com/serde-rs/json) | 1.0.132 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [serde_spanned](https://github.com/toml-rs/toml) | 0.6.8 | | Apache-2.0 or MIT | | -| [shlex](https://github.com/comex/rust-shlex) | 1.3.0 | [comex](mailto:comexk@gmail.com), [Fenhl](mailto:fenhl@fenhl.net), [Adrian Taylor](mailto:adetaylor@chromium.org), [Alex Touchet](mailto:alextouchet@outlook.com), [Daniel Parks](mailto:dp+git@oxidized.org), and [Garrett Berg](mailto:googberg@gmail.com) | Apache-2.0 or MIT | | -| [smallvec](https://github.com/servo/rust-smallvec) | 1.13.2 | The Servo Project Developers | Apache-2.0 or MIT | | -| [stable_deref_trait](https://github.com/storyyeller/stable_deref_trait) | 1.2.0 | [Robert Grosse](mailto:n210241048576@gmail.com) | Apache-2.0 or MIT | | -| [syn](https://github.com/dtolnay/syn) | 2.0.85 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [synstructure](https://github.com/mystor/synstructure) | 0.13.1 | [Nika Layzell](mailto:nika@thelayzells.com) | MIT | | -| [tempfile](https://github.com/Stebalien/tempfile) | 3.13.0 | [Steven Allen](mailto:steven@stebalien.com), The Rust Project Developers, [Ashley Mannix](mailto:ashleymannix@live.com.au), and [Jason White](mailto:me@jasonwhite.io) | Apache-2.0 or MIT | | -| [thiserror](https://github.com/dtolnay/thiserror) | 1.0.65 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [thiserror-impl](https://github.com/dtolnay/thiserror) | 1.0.65 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | -| [tinystr](https://github.com/unicode-org/icu4x) | 0.7.6 | The ICU4X Project Developers | Unicode-3.0 | | -| [toml](https://github.com/toml-rs/toml) | 0.8.19 | [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | | -| [toml_datetime](https://github.com/toml-rs/toml) | 0.6.8 | [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | | -| [toml_edit](https://github.com/toml-rs/toml) | 0.22.22 | [Andronik Ordian](mailto:write@reusable.software) and [Ed Page](mailto:eopage@gmail.com) | Apache-2.0 or MIT | | -| [trimothy](https://github.com/Blobfolio/trimothy) | 0.3.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [unicode-ident](https://github.com/dtolnay/unicode-ident) | 1.0.13 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 AND Unicode-DFS-2016 or MIT | | -| [utc2k](https://github.com/Blobfolio/utc2k) | 0.11.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [utf16_iter](https://github.com/hsivonen/utf16_iter) | 1.0.5 | [Henri Sivonen](mailto:hsivonen@hsivonen.fi) | Apache-2.0 or MIT | | -| [utf8_iter](https://github.com/hsivonen/utf8_iter) | 1.0.4 | [Henri Sivonen](mailto:hsivonen@hsivonen.fi) | Apache-2.0 or MIT | | -| [winnow](https://github.com/winnow-rs/winnow) | 0.6.20 | | MIT | | -| [write16](https://github.com/hsivonen/write16) | 1.0.0 | | Apache-2.0 or MIT | | -| [write_atomic](https://github.com/Blobfolio/write_atomic) | 0.5.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | -| [writeable](https://github.com/unicode-org/icu4x) | 0.5.5 | The ICU4X Project Developers | Unicode-3.0 | | -| [yoke](https://github.com/unicode-org/icu4x) | 0.7.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | -| [yoke-derive](https://github.com/unicode-org/icu4x) | 0.7.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | -| [zerofrom](https://github.com/unicode-org/icu4x) | 0.1.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | -| [zerofrom-derive](https://github.com/unicode-org/icu4x) | 0.1.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | -| [zerovec](https://github.com/unicode-org/icu4x) | 0.10.4 | The ICU4X Project Developers | Unicode-3.0 | | -| [zerovec-derive](https://github.com/unicode-org/icu4x) | 0.10.3 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [adbyss_psl](https://github.com/Blobfolio/adbyss) | 0.14.0 | [Josh Stoik](mailto:josh@blobfolio.com) | WTFPL | | +| [argyle](https://github.com/Blobfolio/argyle) | 0.10.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [bitflags](https://github.com/bitflags/bitflags) | 2.6.0 | The Rust Project Developers | MIT OR Apache-2.0 | | +| [cc](https://github.com/rust-lang/cc-rs) | 1.1.31 | [Alex Crichton](mailto:alex@alexcrichton.com) | MIT OR Apache-2.0 | | +| [cfg-if](https://github.com/alexcrichton/cfg-if) | 1.0.0 | [Alex Crichton](mailto:alex@alexcrichton.com) | MIT OR Apache-2.0 | | +| [dactyl](https://github.com/Blobfolio/dactyl) | 0.7.4 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [displaydoc](https://github.com/yaahc/displaydoc) | 0.2.5 | [Jane Lusby](mailto:jlusby@yaah.dev) | MIT OR Apache-2.0 | | +| [equivalent](https://github.com/cuviper/equivalent) | 1.0.1 | | Apache-2.0 OR MIT | | +| [fastrand](https://github.com/smol-rs/fastrand) | 2.1.1 | [Stjepan Glavina](mailto:stjepang@gmail.com) | Apache-2.0 OR MIT | | +| [form_urlencoded](https://github.com/servo/rust-url) | 1.2.1 | The rust-url developers | MIT OR Apache-2.0 | | +| [fyi_msg](https://github.com/Blobfolio/fyi) | 1.1.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [hashbrown](https://github.com/rust-lang/hashbrown) | 0.15.0 | [Amanieu d'Antras](mailto:amanieu@gmail.com) | MIT OR Apache-2.0 | | +| [icu_collections](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_locid](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_locid_transform](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_locid_transform_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_normalizer](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_normalizer_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_properties](https://github.com/unicode-org/icu4x) | 1.5.1 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_properties_data](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_provider](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [icu_provider_macros](https://github.com/unicode-org/icu4x) | 1.5.0 | The ICU4X Project Developers | Unicode-3.0 | | +| [idna](https://github.com/servo/rust-url/) | 0.5.0 | The rust-url developers | MIT OR Apache-2.0 | | +| [idna](https://github.com/servo/rust-url/) | 1.0.2 | The rust-url developers | MIT OR Apache-2.0 | | +| [indexmap](https://github.com/indexmap-rs/indexmap) | 2.6.0 | | Apache-2.0 OR MIT | | +| [itoa](https://github.com/dtolnay/itoa) | 1.0.11 | [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [libdeflate-sys](https://github.com/adamkewley/libdeflater) | 1.22.0 | [Adam Kewley](mailto:contact@adamkewley.com) | Apache-2.0 | | +| [libdeflater](https://github.com/adamkewley/libdeflater) | 1.22.0 | [Adam Kewley](mailto:contact@adamkewley.com) | Apache-2.0 | | +| [litemap](https://github.com/unicode-org/icu4x) | 0.7.3 | The ICU4X Project Developers | Unicode-3.0 | | +| [memchr](https://github.com/BurntSushi/memchr) | 2.7.4 | [Andrew Gallant](mailto:jamslam@gmail.com) and bluss | Unlicense OR MIT | | +| [once_cell](https://github.com/matklad/once_cell) | 1.20.2 | [Aleksey Kladov](mailto:aleksey.kladov@gmail.com) | MIT OR Apache-2.0 | | +| [oxford_join](https://github.com/Blobfolio/oxford_join) | 0.4.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [percent-encoding](https://github.com/servo/rust-url/) | 2.3.1 | The rust-url developers | MIT OR Apache-2.0 | | +| [proc-macro2](https://github.com/dtolnay/proc-macro2) | 1.0.89 | [David Tolnay](mailto:dtolnay@gmail.com) and [Alex Crichton](mailto:alex@alexcrichton.com) | MIT OR Apache-2.0 | | +| [quote](https://github.com/dtolnay/quote) | 1.0.37 | [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [ryu](https://github.com/dtolnay/ryu) | 1.0.18 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 OR BSL-1.0 | | +| [semver](https://github.com/dtolnay/semver) | 1.0.23 | [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [serde](https://github.com/serde-rs/serde) | 1.0.214 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [serde_derive](https://github.com/serde-rs/serde) | 1.0.214 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [serde_json](https://github.com/serde-rs/json) | 1.0.132 | [Erick Tryzelaar](mailto:erick.tryzelaar@gmail.com) and [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [serde_spanned](https://github.com/toml-rs/toml) | 0.6.8 | | MIT OR Apache-2.0 | | +| [shlex](https://github.com/comex/rust-shlex) | 1.3.0 | [comex](mailto:comexk@gmail.com), [Fenhl](mailto:fenhl@fenhl.net), [Adrian Taylor](mailto:adetaylor@chromium.org), [Alex Touchet](mailto:alextouchet@outlook.com), [Daniel Parks](mailto:dp+git@oxidized.org), and [Garrett Berg](mailto:googberg@gmail.com) | MIT OR Apache-2.0 | | +| [smallvec](https://github.com/servo/rust-smallvec) | 1.13.2 | The Servo Project Developers | MIT OR Apache-2.0 | | +| [stable_deref_trait](https://github.com/storyyeller/stable_deref_trait) | 1.2.0 | [Robert Grosse](mailto:n210241048576@gmail.com) | MIT OR Apache-2.0 | | +| [syn](https://github.com/dtolnay/syn) | 2.0.85 | [David Tolnay](mailto:dtolnay@gmail.com) | MIT OR Apache-2.0 | | +| [synstructure](https://github.com/mystor/synstructure) | 0.13.1 | [Nika Layzell](mailto:nika@thelayzells.com) | MIT | | +| [tempfile](https://github.com/Stebalien/tempfile) | 3.13.0 | [Steven Allen](mailto:steven@stebalien.com), The Rust Project Developers, [Ashley Mannix](mailto:ashleymannix@live.com.au), and [Jason White](mailto:me@jasonwhite.io) | MIT OR Apache-2.0 | | +| [tinystr](https://github.com/unicode-org/icu4x) | 0.7.6 | The ICU4X Project Developers | Unicode-3.0 | | +| [tinyvec](https://github.com/Lokathor/tinyvec) | 1.8.0 | [Lokathor](mailto:zefria@gmail.com) | Zlib OR Apache-2.0 OR MIT | | +| [tinyvec_macros](https://github.com/Soveu/tinyvec_macros) | 0.1.1 | [Soveu](mailto:marx.tomasz@gmail.com) | MIT OR Apache-2.0 OR Zlib | | +| [toml](https://github.com/toml-rs/toml) | 0.8.19 | [Alex Crichton](mailto:alex@alexcrichton.com) | MIT OR Apache-2.0 | | +| [toml_datetime](https://github.com/toml-rs/toml) | 0.6.8 | [Alex Crichton](mailto:alex@alexcrichton.com) | MIT OR Apache-2.0 | | +| [toml_edit](https://github.com/toml-rs/toml) | 0.22.22 | [Andronik Ordian](mailto:write@reusable.software) and [Ed Page](mailto:eopage@gmail.com) | MIT OR Apache-2.0 | | +| [trimothy](https://github.com/Blobfolio/trimothy) | 0.3.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [unicode-bidi](https://github.com/servo/unicode-bidi) | 0.3.17 | The Servo Project Developers | MIT OR Apache-2.0 | | +| [unicode-ident](https://github.com/dtolnay/unicode-ident) | 1.0.13 | [David Tolnay](mailto:dtolnay@gmail.com) | (MIT OR Apache-2.0) AND Unicode-DFS-2016 | | +| [unicode-normalization](https://github.com/unicode-rs/unicode-normalization) | 0.1.24 | [kwantam](mailto:kwantam@gmail.com) and [Manish Goregaokar](mailto:manishsmail@gmail.com) | MIT OR Apache-2.0 | | +| [url](https://github.com/servo/rust-url) | 2.5.2 | The rust-url developers | MIT OR Apache-2.0 | | +| [utc2k](https://github.com/Blobfolio/utc2k) | 0.11.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [utf16_iter](https://github.com/hsivonen/utf16_iter) | 1.0.5 | [Henri Sivonen](mailto:hsivonen@hsivonen.fi) | Apache-2.0 OR MIT | | +| [utf8_iter](https://github.com/hsivonen/utf8_iter) | 1.0.4 | [Henri Sivonen](mailto:hsivonen@hsivonen.fi) | Apache-2.0 OR MIT | | +| [winnow](https://github.com/winnow-rs/winnow) | 0.6.20 | | MIT | | +| [write16](https://github.com/hsivonen/write16) | 1.0.0 | | Apache-2.0 OR MIT | | +| [write_atomic](https://github.com/Blobfolio/write_atomic) | 0.5.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | +| [writeable](https://github.com/unicode-org/icu4x) | 0.5.5 | The ICU4X Project Developers | Unicode-3.0 | | +| [yoke](https://github.com/unicode-org/icu4x) | 0.7.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [yoke-derive](https://github.com/unicode-org/icu4x) | 0.7.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [zerofrom](https://github.com/unicode-org/icu4x) | 0.1.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [zerofrom-derive](https://github.com/unicode-org/icu4x) | 0.1.4 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [zerovec](https://github.com/unicode-org/icu4x) | 0.10.4 | The ICU4X Project Developers | Unicode-3.0 | | +| [zerovec-derive](https://github.com/unicode-org/icu4x) | 0.10.3 | [Manish Goregaokar](mailto:manishsmail@gmail.com) | Unicode-3.0 | | +| [errno](https://github.com/lambda-fairy/rust-errno) | 0.3.9 | [Chris Wong](mailto:lambda.fairy@gmail.com) | MIT OR Apache-2.0 | target-specific | +| [libc](https://github.com/rust-lang/libc) | 0.2.161 | The Rust Project Developers | MIT OR Apache-2.0 | target-specific | +| [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys) | 0.4.14 | [Dan Gohman](mailto:dev@sunfishcode.online) | Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT | target-specific | +| [rustix](https://github.com/bytecodealliance/rustix) | 0.38.38 | [Dan Gohman](mailto:dev@sunfishcode.online) and [Jakub Konka](mailto:kubkon@jakubkonka.com) | Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT | target-specific | diff --git a/Cargo.toml b/Cargo.toml index 7773b20..6ba0440 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-bashman" -version = "0.6.0" +version = "0.6.1" license = "WTFPL" authors = ["Josh Stoik "] edition = "2021" @@ -9,7 +9,7 @@ repository = "https://github.com/Blobfolio/bashman" publish = false [package.metadata.deb] -maintainer = "Josh Stoik " +maintainer = "Josh Stoik " copyright = "2024, Blobfolio, LLC " license-file = ["./LICENSE", "0"] revision = "1" @@ -45,6 +45,10 @@ description = "Do not generate CREDITS.md." long = "--no-man" description = "Do not generate MAN page(s)." +[[package.metadata.bashman.switches]] +long = "--print-targets" +description = "Print the supported target triples (for use with -t/--target) to STDOUT and exit." + [[package.metadata.bashman.switches]] short = "-V" long = "--version" @@ -57,16 +61,22 @@ description = "Path to the Cargo.toml file to use." label = "" path = true +[[package.metadata.bashman.options]] +short = "-t" +long = "--target" +description = "Limit CREDITS.md to dependencies used by the target , e.g. x86_64-unknown-linux-gnu. See --print-targets for the supported values." +label = "" + [build-dependencies] argyle = "0.10.*" [dependencies] argyle = "0.10.*" adbyss_psl = "0.14.*" -cargo_metadata = "=0.18.1" dactyl = "0.7.4" fyi_msg = "1.1.*" oxford_join = "0.4.*" +serde_json = "1.0.*" trimothy = "0.3.*" utc2k = "0.11.*" write_atomic = "0.5.*" @@ -87,6 +97,10 @@ features = [ "derive" ] version = "0.8.*" features = [ "preserve_order" ] +[dependencies.url] +version = "2.5.*" +features = [ "serde" ] + [profile.release] lto = true codegen-units = 1 diff --git a/README.md b/README.md index 17da2b9..7529755 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ cargo bashman [-h/--help] The flags `--no-bash`, `--no-man`, and `--no-credits` can be used to skip the generation of BASH completions, MAN pages, and/or `CREDITS.md` respectively. -Note that for the `CREDITS.md` feature, [Cargo](https://github.com/rust-lang/cargo) is required. (It pulls the dependency tree from the `cargo metadata` output.) +Note that for the `CREDITS.md` feature, [Cargo](https://github.com/rust-lang/cargo) is explicitly required. (It pulls the dependency tree from the `cargo metadata` output.) ## CONFIGURATION @@ -80,6 +80,7 @@ credits-dir = "../" | options | *array* | An array of your app's key=value options, if any. | | | arguments | *array* | An array of any trailing arguments expected by your app. | | | sections | *array* | Arbitrary sections to append to the MAN page. | | +| credits | *array* | An array of non-Rust dependencies to add to CREDITS.md. | | While `bash-dir`, `man-dir`, and `credits-dir` are required, the actual content generation can be skipped by using the CLI flags `--no-bash`, `--no-man`, and/or `--no-credits` respectively. @@ -227,6 +228,35 @@ items = [ ``` +### CREDITS + +To include non-Rust dependencies — i.e. anything `cargo metadata` doesn't know about — in the `CREDITS.md` file generated by `BashMan`, add them to your manifest! + +The fields for `credits` sections have the same formatting requirements as their equivalent Cargo Manifest counterparts. The `name` and `version` parts, in particular, may require a little finessing to make them fit the standard. + +| Key | Type | Description | +| --- | ---- | ----------- | +| name | *string* | ["Package" name](https://doc.rust-lang.org/cargo/reference/manifest.html#the-name-field). | +| version | *string* | [Version](https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field). | +| license | *string* | [License](https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields). | +| authors | *array* | One or more [authors](https://doc.rust-lang.org/cargo/reference/manifest.html#the-authors-field). | +| repository | *string* | [URL](https://doc.rust-lang.org/cargo/reference/manifest.html#the-repository-field). | +| optional | *bool* | Whether or not the dependency is optional. Default: `false` | + +Both `name` and `version` are required; everything else is optional. + +Example: +```toml +[[package.metadata.bashman.credits]] +name = "lodepng" +version = "2024.10.15" # Altered to meet semver requirement. +license = "Zlib" +authors = [ "Lode Vandevenne" ] # Or w/ email: Jane Doe +repository = "https://github.com/lvandeve/lodepng" +optional = true +``` + + ### ALL TOGETHER NOW Taking `BashMan` as an example, the `Cargo.toml` will end up containing something like: @@ -261,27 +291,3 @@ description = "Path to the Cargo.toml file to use." label = "" path = true ``` - - - -## License - -See also: [CREDITS.md](CREDITS.md) - -Copyright © 2024 [Blobfolio, LLC](https://blobfolio.com) <hello@blobfolio.com> - -This work is free. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/build.rs b/build.rs index 41992e4..2d38a32 100644 --- a/build.rs +++ b/build.rs @@ -3,24 +3,205 @@ */ use argyle::KeyWordsBuilder; -use std::path::PathBuf; +use std::{ + borrow::Cow, + collections::BTreeSet, + ffi::OsStr, + fs::File, + io::{ + Error, + ErrorKind, + }, + path::PathBuf, + process::{ + Command, + Stdio, + }, +}; -/// # Set Up CLI Arguments. +/// # Build! pub fn main() { + println!("cargo:rerun-if-env-changed=CARGO_PKG_VERSION"); + + build_cli(); + build_targets(); +} + +/// # Build CLI Arguments. +fn build_cli() { let mut builder = KeyWordsBuilder::default(); builder.push_keys([ "-h", "--help", "--no-bash", "--no-credits", "--no-man", + "--print-targets", "-V", "--version", ]); - builder.push_keys_with_values(["-m", "--manifest-path"]); + builder.push_keys_with_values([ + "-m", "--manifest-path", + "-t", "--target", + ]); builder.save(out_path("argyle.rs")); } +/// # Build Targets. +/// +/// This method generates an enum and supporting code matching all of the +/// target triples supported by rustc. +/// +/// It's a bit much, but this way we can detect and alert users to invalid +/// values passed via CLI without having to pass through cargo's +/// illegible error response. +/// +/// This does, however, mean that for any given environment, the supported +/// targets will be the _intersection_ of ours and theirs. Not ideal, but an +/// acceptable tradeoff, I think. +fn build_targets() { + use std::fmt::Write; + + let raw = Command::new({ + let out = std::env::var_os("RUSTC").unwrap_or_default(); + if out.is_empty() { Cow::Borrowed(OsStr::new("rustc")) } + else { Cow::Owned(out) } + }) + .args(["--print", "target-list"]) + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()) + .output() + .and_then(|o| + if o.status.success() { + String::from_utf8(o.stdout) + .map_err(|e| Error::new(ErrorKind::Other, e)) + } + else { + Err(Error::new(ErrorKind::Other, String::from_utf8_lossy(&o.stderr))) + } + ); + + let raw = match raw { + Ok(raw) => raw, + Err(e) => panic!("Unable to obtain target triples from rustc: {e}"), + }; + + let all: BTreeSet<&str> = raw.lines() + .filter_map(|line| { + let line = line.trim(); + if line.is_empty() { None } + else { Some(line) } + }) + .collect(); + + // Codegen time! + let mut out = String::with_capacity(32_768); // Probably about right. + + // Define the enum. + out.push_str("#[derive(Debug, Clone, Copy, Eq, PartialEq)] +/// # Target Triples. +pub(crate) enum TargetTriple { +"); + + for (k, v) in all.iter().enumerate() { + writeln!(&mut out, "\t/// # {v}\n\tT{k:03},").unwrap(); + } + + // Close that off and add a TryFrom impl. + out.push_str("} + +impl TryFrom for TargetTriple { + type Error = BashManError; + + fn try_from(mut src: String) -> Result { + src.make_ascii_lowercase(); + match src.trim() { +"); + + for (k, v) in all.iter().enumerate() { + writeln!(&mut out, "\t\t\t{:?} => Ok(Self::T{k:03}),", v.to_ascii_lowercase()).unwrap(); + } + + // Close it off and start a new impl to format as a string. + out.push_str("\t\t\t_ => Err(BashManError::Target), + } + } +} + +impl fmt::Display for TargetTriple { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.pad(self.as_str()) + } +} + +impl TargetTriple { + /// # As String Slice. + pub(crate) const fn as_str(self) -> &'static str { + match self { +"); + + for (k, v) in all.iter().enumerate() { + writeln!(&mut out, "\t\t\tSelf::T{k:03} => {v:?},").unwrap(); + } + + // Close it off and start a code for an iterator. + out.push_str("\t\t} + } + + /// # Target Triple Iterator. + const fn all() -> TargetTripleIter { TargetTripleIter(0) } +} + + + +/// # Target Triple Iterator. +struct TargetTripleIter(u16); + +impl Iterator for TargetTripleIter { + type Item = TargetTriple; + + fn next(&mut self) -> Option { + let pos = self.0; + self.0 += 1; + match pos { +"); + + // Note: transmute would be more economical here, but this crate forbids + // unsafe_code. Hopefully the compiler will do that all on its own. + let len = all.len(); + for k in 0..len { + writeln!(&mut out, "\t\t\t{k} => Some(TargetTriple::T{k:03}),").unwrap(); + } + + // Close it off and add ExactSizeIterator bits. + writeln!( + &mut out, + "\t\t\t_ => None, + }} + }} + + fn size_hint(&self) -> (usize, Option) {{ + let len = self.len(); + (len, Some(len)) + }} +}} + +impl ExactSizeIterator for TargetTripleIter {{ + #[inline] + fn len(&self) -> usize {{ usize::from({len}_u16.saturating_sub(self.0)) }} +}}" + ).unwrap(); + + // Save it! + File::create(out_path("target-triples.rs")).and_then(|mut f| { + use std::io::Write; + f.write_all(out.as_bytes()).and_then(|_| f.flush()) + }) + .expect("Unable to save target-triples.rs"); +} + /// # Output Path. /// /// Append the sub-path to OUT_DIR and return it. diff --git a/justfile b/justfile index a28df28..5a3e733 100644 --- a/justfile +++ b/justfile @@ -39,7 +39,9 @@ export RUSTFLAGS := "-C target-cpu=x86-64-v3" # Build Debian package! @build-deb: clean build # Do completions/man. - {{ cargo_bin }} -m "{{ justfile_directory() }}/Cargo.toml" + {{ cargo_bin }} \ + -m "{{ justfile_directory() }}/Cargo.toml" \ + -t x86_64-unknown-linux-gnu # cargo-deb doesn't support target_dir flags yet. [ ! -d "{{ justfile_directory() }}/target" ] || rm -rf "{{ justfile_directory() }}/target" diff --git a/release/completions/cargo-bashman.bash b/release/completions/cargo-bashman.bash index 2358531..fede2e4 100644 --- a/release/completions/cargo-bashman.bash +++ b/release/completions/cargo-bashman.bash @@ -11,6 +11,7 @@ _basher___cargo_bashman() { [[ " ${COMP_LINE} " =~ " --no-bash " ]] || opts+=("--no-bash") [[ " ${COMP_LINE} " =~ " --no-credits " ]] || opts+=("--no-credits") [[ " ${COMP_LINE} " =~ " --no-man " ]] || opts+=("--no-man") + [[ " ${COMP_LINE} " =~ " --print-targets " ]] || opts+=("--print-targets") if [[ ! " ${COMP_LINE} " =~ " -V " ]] && [[ ! " ${COMP_LINE} " =~ " --version " ]]; then opts+=("-V") opts+=("--version") @@ -19,6 +20,10 @@ _basher___cargo_bashman() { opts+=("-m") opts+=("--manifest-path") fi + if [[ ! " ${COMP_LINE} " =~ " -t " ]] && [[ ! " ${COMP_LINE} " =~ " --target " ]]; then + opts+=("-t") + opts+=("--target") + fi opts=" ${opts[@]} " if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) diff --git a/release/man/cargo-bashman.1 b/release/man/cargo-bashman.1 index 67de0c2..b63f23c 100644 --- a/release/man/cargo-bashman.1 +++ b/release/man/cargo-bashman.1 @@ -1,6 +1,6 @@ -.TH "CARGO BASHMAN" "1" "October 2024" "cargo\-bashman v0.6.0" "User Commands" +.TH "CARGO BASHMAN" "1" "October 2024" "cargo\-bashman v0.6.1" "User Commands" .SH NAME -CARGO BASHMAN \- Manual page for cargo\-bashman v0.6.0. +CARGO BASHMAN \- Manual page for cargo\-bashman v0.6.1. .SH DESCRIPTION A Cargo plugin to generate bash completions, man pages, and/or crate credits. .SS USAGE: @@ -20,9 +20,15 @@ Do not generate CREDITS.md. \fB\-\-no\-man\fR Do not generate MAN page(s). .TP +\fB\-\-print\-targets\fR +Print the supported target triples (for use with \-t/\-\-target) to STDOUT and exit. +.TP \fB\-V\fR, \fB\-\-version\fR Print application version. .SS OPTIONS: .TP \fB\-m\fR, \fB\-\-manifest\-path\fR Path to the Cargo.toml file to use. +.TP +\fB\-t\fR, \fB\-\-target\fR +Limit CREDITS.md to dependencies used by the target , e.g. x86_64\-unknown\-linux\-gnu. See \-\-print\-targets for the supported values. diff --git a/skel/metadata.json b/skel/metadata.json new file mode 100644 index 0000000..5b3d2b6 --- /dev/null +++ b/skel/metadata.json @@ -0,0 +1,20075 @@ +{ + "packages": [ + { + "name": "adbyss_psl", + "version": "0.14.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#adbyss_psl@0.14.0", + "license": "WTFPL", + "license_file": null, + "description": "A minimal Public Suffix List hostname validator.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "idna", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "trimothy", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.3.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "idna", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": "build", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.100", + "kind": "build", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "adbyss_psl", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/adbyss_psl-0.14.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "psl_parse", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/adbyss_psl-0.14.0/benches/psl_parse.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/adbyss_psl-0.14.0/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "default": [], + "serde": [ + "dep:serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/adbyss_psl-0.14.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-unknown-linux-gnu", + "features": [ + "serde" + ], + "rustc-args": [ + "--cfg", + "docsrs" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ], + "targets": [ + "x86_64-unknown-linux-gnu", + "x86_64-apple-darwin" + ] + } + } + }, + "publish": null, + "authors": [ + "Josh Stoik " + ], + "categories": [], + "keywords": [ + "hostname", + "validation", + "publicsuffix", + "idna", + "punycode" + ], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/adbyss", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.81" + }, + { + "name": "argyle", + "version": "0.10.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#argyle@0.10.0", + "license": "WTFPL", + "license_file": null, + "description": "A lightweight, agnostic CLI argument parser.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "argyle", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/argyle-0.10.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/argyle-0.10.0/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "Argyle" + }, + "docs": { + "rs": { + "default-target": "x86_64-unknown-linux-gnu", + "rustc-args": [ + "--cfg", + "docsrs" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/argyle", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.81" + }, + { + "name": "bitflags", + "version": "2.6.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.6.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A macro to generate structures which behave like bitflags.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "arbitrary", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bytemuck", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.12", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.103", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "arbitrary", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "bytemuck", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.12.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.103", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.19", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "trybuild", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.18", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerocopy", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "bitflags", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "custom_bits_type", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/examples/custom_bits_type.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "custom_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/examples/custom_derive.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "fmt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/examples/fmt.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "macro_free", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/examples/macro_free.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/examples/serde.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "parse", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/benches/parse.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "arbitrary": [ + "dep:arbitrary" + ], + "bytemuck": [ + "dep:bytemuck" + ], + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "example_generated": [], + "rustc-dep-of-std": [ + "core", + "compiler_builtins" + ], + "serde": [ + "dep:serde" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.6.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "example_generated" + ] + } + } + }, + "publish": null, + "authors": [ + "The Rust Project Developers" + ], + "categories": [ + "no-std" + ], + "keywords": [ + "bit", + "bitmask", + "bitflags", + "flags" + ], + "readme": "README.md", + "repository": "https://github.com/bitflags/bitflags", + "homepage": "https://github.com/bitflags/bitflags", + "documentation": "https://docs.rs/bitflags", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56.0" + }, + { + "name": "cargo-bashman", + "version": "0.6.0", + "id": "path+file:///share#cargo-bashman@0.6.0", + "license": "WTFPL", + "license_file": null, + "description": "A Cargo plugin to generate bash completions, man pages, and/or crate credits.", + "source": null, + "dependencies": [ + { + "name": "adbyss_psl", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.14.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "argyle", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.10.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "dactyl", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.4", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fyi_msg", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.1.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libdeflater", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=1.22.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "freestanding" + ], + "target": null, + "registry": null + }, + { + "name": "oxford_join", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.4.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "semver", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.8.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "preserve_order" + ], + "target": null, + "registry": null + }, + { + "name": "trimothy", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.3.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "url", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "2.5.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "utc2k", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.11.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "write_atomic", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.5.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "argyle", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.10.*", + "kind": "build", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "bin" + ], + "crate_types": [ + "bin" + ], + "name": "cargo-bashman", + "src_path": "/share/src/main.rs", + "edition": "2021", + "doc": true, + "doctest": false, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/share/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/share/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./release/completions", + "credits-dir": "./", + "man-dir": "./release/man", + "name": "Cargo BashMan", + "options": [ + { + "description": "Path to the Cargo.toml file to use.", + "label": "", + "long": "--manifest-path", + "path": true, + "short": "-m" + } + ], + "switches": [ + { + "description": "Print help information.", + "long": "--help", + "short": "-h" + }, + { + "description": "Do not generate BASH completions.", + "long": "--no-bash" + }, + { + "description": "Do not generate CREDITS.md.", + "long": "--no-credits" + }, + { + "description": "Do not generate MAN page(s).", + "long": "--no-man" + }, + { + "description": "Print application version.", + "long": "--version", + "short": "-V" + } + ] + }, + "deb": { + "assets": [ + [ + "./target/release/cargo-bashman", + "usr/bin/", + "755" + ], + [ + "./release/completions/cargo-bashman.bash", + "etc/bash_completion.d/", + "644" + ], + [ + "./release/man/cargo-bashman.1.gz", + "usr/share/man/man1/", + "644" + ] + ], + "copyright": "2024, Blobfolio, LLC ", + "depends": "$auto", + "extended-description": "", + "license-file": [ + "./LICENSE", + "0" + ], + "maintainer": "Josh Stoik ", + "revision": "1", + "section": "rust" + } + }, + "publish": [], + "authors": [ + "Josh Stoik " + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/bashman", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "cc", + "version": "1.1.31", + "id": "registry+https://github.com/rust-lang/crates.io-index#cc@1.1.31", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "jobserver", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.30", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "shlex", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tempfile", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.62", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": "cfg(unix)", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "cc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cc-1.1.31/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "jobserver": [], + "parallel": [ + "dep:libc", + "dep:jobserver" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cc-1.1.31/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Alex Crichton " + ], + "categories": [ + "development-tools::build-utils" + ], + "keywords": [ + "build-dependencies" + ], + "readme": "README.md", + "repository": "https://github.com/rust-lang/cc-rs", + "homepage": "https://github.com/rust-lang/cc-rs", + "documentation": "https://docs.rs/cc", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.63" + }, + { + "name": "cfg-if", + "version": "1.0.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.0", + "license": "MIT/Apache-2.0", + "license_file": null, + "description": "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "cfg_if", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "xcrate", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/tests/xcrate.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "rustc-dep-of-std": [ + "core", + "compiler_builtins" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cfg-if-1.0.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Alex Crichton " + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/alexcrichton/cfg-if", + "homepage": "https://github.com/alexcrichton/cfg-if", + "documentation": "https://docs.rs/cfg-if", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "dactyl", + "version": "0.7.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4", + "license": "WTFPL", + "license_file": null, + "description": "A small library to quickly stringify integers with basic formatting.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fastrand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "num-format", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.4.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "dactyl", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_btoi", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_btoi.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_btou", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_btou.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_htou", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_htou.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_elapsed", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_elapsed.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_float", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_float.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_percent", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_percent.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_u16", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_u16.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_u32", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_u32.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_u64", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_u64.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nice_u8", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nice_u8.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_nohash", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_nohash.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_saturating_from_u8", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/benches/fn_saturating_from_u8.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/dactyl-0.7.4/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "Dactyl" + }, + "docs": { + "rs": { + "default-target": "x86_64-unknown-linux-gnu" + } + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [], + "keywords": [ + "integer", + "printing", + "formatting" + ], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/dactyl", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.70" + }, + { + "name": "displaydoc", + "version": "0.2.5", + "id": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A derive macro for implementing the display Trait via a doc comment and string interpolation\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "pretty_assertions", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "static_assertions", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "thiserror", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.24", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "trybuild", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "displaydoc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "simple", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/examples/simple.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "compile_tests", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/tests/compile_tests.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "happy", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/tests/happy.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "num_in_field", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/tests/num_in_field.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "variantless", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/tests/variantless.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "default": [ + "std" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/displaydoc-0.2.5/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "no-dev-version": true, + "pre-release-hook": [ + "./update-readme.sh" + ], + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "src/lib.rs", + "replace": "#![doc(html_root_url = \"https://docs.rs/{{crate_name}}/{{version}}\")]", + "search": "#!\\[doc\\(html_root_url.*" + }, + { + "file": "CHANGELOG.md", + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n\n# [Unreleased] - ReleaseDate", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/yaahc/{{crate_name}}/compare/{{tag_name}}...HEAD", + "search": "" + } + ] + } + }, + "publish": null, + "authors": [ + "Jane Lusby " + ], + "categories": [], + "keywords": [ + "display", + "derive" + ], + "readme": "README.md", + "repository": "https://github.com/yaahc/displaydoc", + "homepage": "https://github.com/yaahc/displaydoc", + "documentation": "https://docs.rs/displaydoc", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56.0" + }, + { + "name": "equivalent", + "version": "1.0.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.1", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Traits for key comparison in maps.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "equivalent", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/equivalent-1.0.1/src/lib.rs", + "edition": "2015", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/equivalent-1.0.1/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [], + "categories": [ + "data-structures", + "no-std" + ], + "keywords": [ + "hashmap", + "no_std" + ], + "readme": "README.md", + "repository": "https://github.com/cuviper/equivalent", + "homepage": null, + "documentation": null, + "edition": "2015", + "links": null, + "default_run": null, + "rust_version": "1.6" + }, + { + "name": "errno", + "version": "0.3.9", + "id": "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.9", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Cross-platform interface to the `errno` variable.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(target_os = \"hermit\")", + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(target_os = \"wasi\")", + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(unix)", + "registry": null + }, + { + "name": "windows-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "Win32_Foundation", + "Win32_System_Diagnostics_Debug" + ], + "target": "cfg(windows)", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "errno", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/errno-0.3.9/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "default": [ + "std" + ], + "std": [ + "libc/std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/errno-0.3.9/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Chris Wong " + ], + "categories": [ + "no-std", + "os" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/lambda-fairy/rust-errno", + "homepage": null, + "documentation": "https://docs.rs/errno", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "fastrand", + "version": "2.1.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#fastrand@2.1.1", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "A simple and fast random number generator", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "getrandom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "wyhash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "getrandom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "js" + ], + "target": "cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))", + "registry": null + }, + { + "name": "getrandom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "js" + ], + "target": "cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))", + "registry": null + }, + { + "name": "wasm-bindgen-test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "fastrand", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fastrand-2.1.1/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "char", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fastrand-2.1.1/tests/char.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "smoke", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fastrand-2.1.1/tests/smoke.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fastrand-2.1.1/benches/bench.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "default": [ + "std" + ], + "getrandom": [ + "dep:getrandom" + ], + "js": [ + "std", + "getrandom" + ], + "std": [ + "alloc" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fastrand-2.1.1/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + } + }, + "publish": null, + "authors": [ + "Stjepan Glavina " + ], + "categories": [ + "algorithms" + ], + "keywords": [ + "simple", + "fast", + "rand", + "random", + "wyrand" + ], + "readme": "README.md", + "repository": "https://github.com/smol-rs/fastrand", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.36" + }, + { + "name": "form_urlencoded", + "version": "1.2.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.1", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "percent-encoding", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.3.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "form_urlencoded", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/form_urlencoded-1.2.1/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": false + } + ], + "features": { + "alloc": [ + "percent-encoding/alloc" + ], + "default": [ + "std" + ], + "std": [ + "alloc", + "percent-encoding/std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/form_urlencoded-1.2.1/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "The rust-url developers" + ], + "categories": [ + "no_std" + ], + "keywords": [], + "readme": null, + "repository": "https://github.com/servo/rust-url", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.51" + }, + { + "name": "fyi_msg", + "version": "1.1.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#fyi_msg@1.1.1", + "license": "WTFPL", + "license_file": null, + "description": "Simple ANSI-formatted, prefixed messages for console printing.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "ahash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.8.*", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bytecount", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=0.6.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "dactyl", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.7.*", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "terminal_size", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=0.4.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "unicode-width", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.2.*", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "utc2k", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.10.*", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "local" + ], + "target": null, + "registry": null + }, + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.10.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "fyi_msg", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_buffer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_buffer.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_buffer_mut", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_buffer_mut.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_fitted", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_fitted.rs", + "edition": "2021", + "required-features": [ + "fitted" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_msg", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_msg.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_msg_fitted", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_msg_fitted.rs", + "edition": "2021", + "required-features": [ + "fitted" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fm_msg_timestamps", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/benches/fm_msg_timestamps.rs", + "edition": "2021", + "required-features": [ + "timestamps" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "ahash": [ + "dep:ahash" + ], + "bin_kinds": [], + "bytecount": [ + "dep:bytecount" + ], + "default": [], + "fitted": [ + "unicode-width" + ], + "progress": [ + "ahash", + "bytecount", + "fitted", + "terminal_size" + ], + "terminal_size": [ + "dep:terminal_size" + ], + "timestamps": [ + "utc2k" + ], + "unicode-width": [ + "dep:unicode-width" + ], + "utc2k": [ + "dep:utc2k" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/fyi_msg-1.1.1/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-unknown-linux-gnu", + "features": [ + "fitted", + "progress", + "timestamps" + ], + "rustc-args": [ + "--cfg", + "docsrs" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ], + "targets": [ + "x86_64-unknown-linux-gnu", + "x86_64-apple-darwin" + ] + } + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/fyi", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.81" + }, + { + "name": "hashbrown", + "version": "0.15.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.15.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A Rust port of Google's SwissTable hash map", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "rustc-std-workspace-alloc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "alloc", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "allocator-api2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.9", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "borsh", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "equivalent", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "foldhash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.25", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bumpalo", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^3.13.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "allocator-api2" + ], + "target": null, + "registry": null + }, + { + "name": "doc-comment", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fnv", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.7", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "lazy_static", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "small_rng" + ], + "target": null, + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "hashbrown", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "equivalent_trait", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/tests/equivalent_trait.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "hasher", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/tests/hasher.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "rayon", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/tests/rayon.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/tests/serde.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "set", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/tests/set.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/benches/bench.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "insert_unique_unchecked", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/benches/insert_unique_unchecked.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "set_ops", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/benches/set_ops.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [ + "dep:alloc" + ], + "allocator-api2": [ + "dep:allocator-api2" + ], + "borsh": [ + "dep:borsh" + ], + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "default": [ + "default-hasher", + "inline-more", + "allocator-api2", + "equivalent", + "raw-entry" + ], + "default-hasher": [ + "dep:foldhash" + ], + "equivalent": [ + "dep:equivalent" + ], + "inline-more": [], + "nightly": [ + "allocator-api2?/nightly", + "bumpalo/allocator_api" + ], + "raw-entry": [], + "rayon": [ + "dep:rayon" + ], + "rustc-dep-of-std": [ + "nightly", + "core", + "compiler_builtins", + "alloc", + "rustc-internal-api", + "raw-entry" + ], + "rustc-internal-api": [], + "serde": [ + "dep:serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.15.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "nightly", + "rayon", + "serde", + "raw-entry" + ], + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "Amanieu d'Antras " + ], + "categories": [ + "data-structures", + "no-std" + ], + "keywords": [ + "hash", + "no_std", + "hashmap", + "swisstable" + ], + "readme": "README.md", + "repository": "https://github.com/rust-lang/hashbrown", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.63.0" + }, + { + "name": "icu_collections", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Collection of API for use in ICU libraries.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive", + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "yoke", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.4", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "zerofrom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive", + "yoke" + ], + "target": null, + "registry": null + }, + { + "name": "iai", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_collections", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "unicode_bmp_blocks_selector", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/examples/unicode_bmp_blocks_selector.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "char16trie", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/tests/char16trie.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "cpt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/tests/cpt.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "codepointtrie", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/benches/codepointtrie.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "iai_cpt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/benches/iai_cpt.rs", + "edition": "2021", + "required-features": [ + "bench" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "inv_list", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/benches/inv_list.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [], + "databake": [ + "dep:databake", + "zerovec/databake" + ], + "serde": [ + "dep:serde", + "zerovec/serde" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_collections-1.5.0/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ] + }, + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_locid", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "API for managing Unicode Language and Locale Identifiers", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "litemap", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "alloc", + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "tinystr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "writeable", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "iai", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "use-std" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_locid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "filter_langids", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/examples/filter_langids.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "syntatically_canonicalize_locales", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/examples/syntatically_canonicalize_locales.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "langid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/tests/langid.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "locale", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/tests/locale.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "iai_langid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/benches/iai_langid.rs", + "edition": "2021", + "required-features": [ + "bench" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "langid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/benches/langid.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "locale", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/benches/locale.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "subtags", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/benches/subtags.rs", + "edition": "2021", + "required-features": [ + "bench" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [ + "serde" + ], + "databake": [ + "dep:databake" + ], + "serde": [ + "dep:serde", + "tinystr/serde" + ], + "std": [], + "zerovec": [ + "dep:zerovec" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid-1.5.0/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ] + }, + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_locid_transform", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "API for Unicode Language and Locale Identifiers canonicalization", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_locid", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "zerovec" + ], + "target": null, + "registry": null + }, + { + "name": "icu_locid_transform_data", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_provider", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "macros" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive", + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "tinystr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc", + "zerovec" + ], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "yoke" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_locid_transform", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "locale_canonicalizer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform-1.5.0/tests/locale_canonicalizer.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "locale_canonicalizer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform-1.5.0/benches/locale_canonicalizer.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [ + "serde" + ], + "compiled_data": [ + "dep:icu_locid_transform_data" + ], + "datagen": [ + "serde", + "dep:databake", + "zerovec/databake", + "icu_locid/databake", + "tinystr/databake" + ], + "default": [ + "compiled_data" + ], + "serde": [ + "dep:serde", + "icu_locid/serde", + "tinystr/serde", + "zerovec/serde", + "icu_provider/serde" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform-1.5.0/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ], + "skip_optional_dependencies": true + }, + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_locid_transform_data", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform_data@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Data for the icu_locid_transform crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_locid_transform_data", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform_data-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_locid_transform_data-1.5.0/Cargo.toml", + "metadata": { + "sources": { + "cldr": { + "tagged": "45.0.0" + }, + "icuexport": { + "tagged": "icu4x/2024-05-16/75.x" + }, + "segmenter_lstm": { + "tagged": "v0.1.0" + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_normalizer", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "API for normalizing text into Unicode Normalization Forms", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_collections", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_normalizer_data", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_properties", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_provider", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "macros" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive", + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "smallvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.10.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "utf16_iter", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "utf8_iter", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "write16", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "arraystring", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "arrayvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "atoi", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "detone", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "write16", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "arrayvec" + ], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_normalizer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tests", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/tests/tests.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/bench.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "canonical_composition", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/canonical_composition.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "canonical_decomposition", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/canonical_decomposition.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "composing_normalizer_nfc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/composing_normalizer_nfc.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "composing_normalizer_nfkc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/composing_normalizer_nfkc.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "decomposing_normalizer_nfd", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/decomposing_normalizer_nfd.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "decomposing_normalizer_nfkd", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/benches/decomposing_normalizer_nfkd.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "compiled_data": [ + "dep:icu_normalizer_data", + "icu_properties/compiled_data" + ], + "datagen": [ + "serde", + "dep:databake", + "icu_collections/databake", + "zerovec/databake", + "icu_properties/datagen" + ], + "default": [ + "compiled_data" + ], + "experimental": [], + "serde": [ + "dep:serde", + "icu_collections/serde", + "zerovec/serde", + "icu_properties/serde" + ], + "std": [ + "icu_collections/std", + "icu_properties/std", + "icu_provider/std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer-1.5.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_normalizer_data", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Data for the icu_normalizer crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_normalizer_data", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer_data-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_normalizer_data-1.5.0/Cargo.toml", + "metadata": { + "sources": { + "cldr": { + "tagged": "45.0.0" + }, + "icuexport": { + "tagged": "icu4x/2024-05-16/75.x" + }, + "segmenter_lstm": { + "tagged": "v0.1.0" + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_properties", + "version": "1.5.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "license": "Unicode-3.0", + "license_file": null, + "description": "Definitions for Unicode properties", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_collections", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_locid_transform", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "compiled_data" + ], + "target": null, + "registry": null + }, + { + "name": "icu_properties_data", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_provider", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "macros" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive", + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "tinystr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc", + "zerovec" + ], + "target": null, + "registry": null + }, + { + "name": "unicode-bidi", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.11", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_properties", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_properties-1.5.1/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "bidi": [ + "dep:unicode-bidi" + ], + "compiled_data": [ + "dep:icu_properties_data", + "dep:icu_locid_transform" + ], + "datagen": [ + "serde", + "dep:databake", + "zerovec/databake", + "icu_collections/databake", + "tinystr/databake" + ], + "default": [ + "compiled_data" + ], + "serde": [ + "dep:serde", + "tinystr/serde", + "zerovec/serde", + "icu_collections/serde", + "icu_provider/serde" + ], + "std": [ + "icu_collections/std", + "icu_provider/std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_properties-1.5.1/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_properties_data", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Data for the icu_properties crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_properties_data", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_properties_data-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_properties_data-1.5.0/Cargo.toml", + "metadata": { + "sources": { + "cldr": { + "tagged": "45.0.0" + }, + "icuexport": { + "tagged": "icu4x/2024-05-16/75.x" + }, + "segmenter_lstm": { + "tagged": "v0.1.0" + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_provider", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Trait and struct definitions for the ICU data provider", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "erased-serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.11", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "icu_locid", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_provider_macros", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "~1.5.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "log", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.17", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive", + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "stable_deref_trait", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tinystr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "writeable", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.5", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "yoke", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.4", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc", + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "zerofrom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "alloc", + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "icu_provider", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_provider-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "data_locale_bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_provider-1.5.0/benches/data_locale_bench.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [], + "datagen": [ + "serde", + "dep:erased-serde", + "dep:databake", + "std", + "sync" + ], + "deserialize_bincode_1": [ + "serde", + "dep:bincode", + "std" + ], + "deserialize_json": [ + "serde", + "dep:serde_json" + ], + "deserialize_postcard_1": [ + "serde", + "dep:postcard" + ], + "experimental": [], + "log_error_context": [ + "logging" + ], + "logging": [ + "dep:log" + ], + "macros": [ + "dep:icu_provider_macros" + ], + "serde": [ + "dep:serde", + "yoke/serde" + ], + "std": [ + "icu_locid/std" + ], + "sync": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_provider-1.5.0/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "macros" + ], + "max_combination_size": 3 + }, + "docs": { + "rs": { + "all-features": true + } + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "icu_provider_macros", + "version": "1.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_provider_macros@1.5.0", + "license": "Unicode-3.0", + "license_file": null, + "description": "Proc macros for ICU data providers", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.61", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.28", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.21", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "icu_provider_macros", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_provider_macros-1.5.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/icu_provider_macros-1.5.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "internationalization" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": "https://icu4x.unicode.org", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "idna", + "version": "0.5.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#idna@0.5.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "unicode-bidi", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.10", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "hardcoded-data" + ], + "target": null, + "registry": null + }, + { + "name": "unicode-normalization", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.22", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "assert_matches", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bencher", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tester", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.9", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "idna", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tests", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/tests/tests.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "unit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/tests/unit.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "all", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/benches/all.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "default": [ + "std" + ], + "std": [ + "alloc", + "unicode-bidi/std", + "unicode-normalization/std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-0.5.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "The rust-url developers" + ], + "categories": [ + "no_std" + ], + "keywords": [], + "readme": null, + "repository": "https://github.com/servo/rust-url/", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.51" + }, + { + "name": "idna", + "version": "1.0.2", + "id": "registry+https://github.com/rust-lang/crates.io-index#idna@1.0.2", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "icu_normalizer", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.4.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "icu_properties", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.4.2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "smallvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.13.1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "const_generics" + ], + "target": null, + "registry": null + }, + { + "name": "utf8_iter", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.4", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "assert_matches", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bencher", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tester", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.9", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "idna", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tests", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/tests/tests.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "unit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/tests/unit.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "unitbis", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/tests/unitbis.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "all", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/benches/all.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "compiled_data": [ + "icu_normalizer/compiled_data", + "icu_properties/compiled_data" + ], + "default": [ + "std", + "compiled_data" + ], + "std": [ + "alloc" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/idna-1.0.2/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "The rust-url developers" + ], + "categories": [], + "keywords": [ + "no_std", + "web", + "http" + ], + "readme": "README.md", + "repository": "https://github.com/servo/rust-url/", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "indexmap", + "version": "2.6.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "A hash table with consistent order and fast iteration.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "arbitrary", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "borsh", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "equivalent", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "hashbrown", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.15.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quickcheck", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.5.3", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5", + "kind": null, + "rename": "rustc-rayon", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fnv", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fxhash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "itertools", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.13", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "lazy_static", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quickcheck", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "small_rng" + ], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "indexmap", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "equivalent_trait", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/tests/equivalent_trait.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "macros_full_path", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/tests/macros_full_path.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "quick", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/tests/quick.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tests", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/tests/tests.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/benches/bench.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "faststring", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/benches/faststring.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "arbitrary": [ + "dep:arbitrary" + ], + "borsh": [ + "dep:borsh" + ], + "default": [ + "std" + ], + "quickcheck": [ + "dep:quickcheck" + ], + "rayon": [ + "dep:rayon" + ], + "rustc-rayon": [ + "dep:rustc-rayon" + ], + "serde": [ + "dep:serde" + ], + "std": [], + "test_debug": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.6.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "arbitrary", + "quickcheck", + "serde", + "borsh", + "rayon" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "allow-branch": [ + "master" + ], + "sign-tag": true, + "tag-name": "{{version}}" + } + }, + "publish": null, + "authors": [], + "categories": [ + "data-structures", + "no-std" + ], + "keywords": [ + "hashmap", + "no_std" + ], + "readme": "README.md", + "repository": "https://github.com/indexmap-rs/indexmap", + "homepage": null, + "documentation": "https://docs.rs/indexmap/", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.63" + }, + { + "name": "itoa", + "version": "1.0.11", + "id": "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.11", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Fast integer primitive to string conversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "no-panic", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "itoa", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/itoa-1.0.11/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/itoa-1.0.11/tests/test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/itoa-1.0.11/benches/bench.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "no-panic": [ + "dep:no-panic" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/itoa-1.0.11/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "value-formatting", + "no-std", + "no-std::no-alloc" + ], + "keywords": [ + "integer" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/itoa", + "homepage": null, + "documentation": "https://docs.rs/itoa", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.36" + }, + { + "name": "libc", + "version": "0.2.161", + "id": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Raw FFI bindings to platform libraries like libc.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "libc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.161/src/lib.rs", + "edition": "2015", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "const_fn", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.161/tests/const_fn.rs", + "edition": "2015", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.161/build.rs", + "edition": "2015", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "align": [], + "const-extern-fn": [], + "default": [ + "std" + ], + "extra_traits": [], + "rustc-dep-of-std": [ + "align", + "rustc-std-workspace-core" + ], + "rustc-std-workspace-core": [ + "dep:rustc-std-workspace-core" + ], + "std": [], + "use_std": [ + "std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.161/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "cargo-args": [ + "-Zbuild-std=core" + ], + "default-target": "x86_64-unknown-linux-gnu", + "features": [ + "const-extern-fn", + "extra_traits" + ], + "targets": [ + "aarch64-apple-darwin", + "aarch64-apple-ios", + "aarch64-linux-android", + "aarch64-pc-windows-msvc", + "aarch64-unknown-freebsd", + "aarch64-unknown-fuchsia", + "aarch64-unknown-hermit", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "aarch64-unknown-netbsd", + "aarch64-unknown-openbsd", + "aarch64-wrs-vxworks", + "arm-linux-androideabi", + "arm-unknown-linux-gnueabi", + "arm-unknown-linux-gnueabihf", + "arm-unknown-linux-musleabi", + "arm-unknown-linux-musleabihf", + "armebv7r-none-eabi", + "armebv7r-none-eabihf", + "armv5te-unknown-linux-gnueabi", + "armv5te-unknown-linux-musleabi", + "armv7-linux-androideabi", + "armv7-unknown-linux-gnueabihf", + "armv7-unknown-linux-musleabihf", + "armv7-wrs-vxworks-eabihf", + "armv7r-none-eabi", + "armv7r-none-eabihf", + "i586-pc-windows-msvc", + "i586-unknown-linux-gnu", + "i586-unknown-linux-musl", + "i686-linux-android", + "i686-pc-windows-gnu", + "i686-pc-windows-msvc", + "i686-pc-windows-msvc", + "i686-unknown-freebsd", + "i686-unknown-haiku", + "i686-unknown-linux-gnu", + "i686-unknown-linux-musl", + "i686-unknown-netbsd", + "i686-unknown-openbsd", + "i686-wrs-vxworks", + "mips-unknown-linux-gnu", + "mips-unknown-linux-musl", + "mips64-unknown-linux-gnuabi64", + "mips64-unknown-linux-muslabi64", + "mips64el-unknown-linux-gnuabi64", + "mips64el-unknown-linux-muslabi64", + "mipsel-sony-psp", + "mipsel-unknown-linux-gnu", + "mipsel-unknown-linux-musl", + "nvptx64-nvidia-cuda", + "powerpc-unknown-linux-gnu", + "powerpc-unknown-linux-gnuspe", + "powerpc-unknown-netbsd", + "powerpc-wrs-vxworks", + "powerpc-wrs-vxworks-spe", + "powerpc64-unknown-freebsd", + "powerpc64-unknown-linux-gnu", + "powerpc64-wrs-vxworks", + "powerpc64le-unknown-linux-gnu", + "riscv32gc-unknown-linux-gnu", + "riscv32i-unknown-none-elf", + "riscv32imac-unknown-none-elf", + "riscv32imc-unknown-none-elf", + "riscv32-wrs-vxworks", + "riscv64gc-unknown-freebsd", + "riscv64gc-unknown-hermit", + "riscv64gc-unknown-linux-gnu", + "riscv64gc-unknown-linux-musl", + "riscv64gc-unknown-none-elf", + "riscv64imac-unknown-none-elf", + "riscv64-wrs-vxworks", + "s390x-unknown-linux-gnu", + "s390x-unknown-linux-musl", + "sparc-unknown-linux-gnu", + "sparc64-unknown-linux-gnu", + "sparc64-unknown-netbsd", + "sparcv9-sun-solaris", + "thumbv6m-none-eabi", + "thumbv7em-none-eabi", + "thumbv7em-none-eabihf", + "thumbv7m-none-eabi", + "thumbv7neon-linux-androideabi", + "thumbv7neon-unknown-linux-gnueabihf", + "wasm32-unknown-emscripten", + "wasm32-unknown-unknown", + "wasm32-wasi", + "x86_64-apple-darwin", + "x86_64-apple-ios", + "x86_64-fortanix-unknown-sgx", + "x86_64-linux-android", + "x86_64-pc-solaris", + "x86_64-pc-windows-gnu", + "x86_64-pc-windows-msvc", + "x86_64-unknown-dragonfly", + "x86_64-unknown-freebsd", + "x86_64-unknown-fuchsia", + "x86_64-unknown-haiku", + "x86_64-unknown-hermit", + "x86_64-unknown-illumos", + "x86_64-unknown-l4re-uclibc", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-gnux32", + "x86_64-unknown-linux-musl", + "x86_64-unknown-netbsd", + "x86_64-unknown-openbsd", + "x86_64-unknown-redox", + "x86_64-wrs-vxworks" + ] + } + } + }, + "publish": null, + "authors": [ + "The Rust Project Developers" + ], + "categories": [ + "external-ffi-bindings", + "no-std", + "os" + ], + "keywords": [ + "libc", + "ffi", + "bindings", + "operating", + "system" + ], + "readme": "README.md", + "repository": "https://github.com/rust-lang/libc", + "homepage": "https://github.com/rust-lang/libc", + "documentation": "https://docs.rs/libc/", + "edition": "2015", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "libdeflate-sys", + "version": "1.22.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#libdeflate-sys@1.22.0", + "license": "Apache-2.0", + "license_file": null, + "description": "Bindings to libdeflate for DEFLATE (de)compression exposed as non-streaming buffer\noperations. Contains bindings for raw deflate, zlib, and gzip data.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "cc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "build", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "pkg-config", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.9", + "kind": "build", + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "libdeflate_sys", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflate-sys-1.22.0/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflate-sys-1.22.0/build.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "dynamic": [ + "pkg-config" + ], + "freestanding": [], + "pkg-config": [ + "dep:pkg-config" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflate-sys-1.22.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Adam Kewley " + ], + "categories": [ + "compression", + "api-bindings" + ], + "keywords": [ + "gzip", + "zlib", + "deflate", + "encoding" + ], + "readme": "README.md", + "repository": "https://github.com/adamkewley/libdeflater", + "homepage": "https://github.com/adamkewley/libdeflater", + "documentation": null, + "edition": "2018", + "links": "libdeflate", + "default_run": null, + "rust_version": null + }, + { + "name": "libdeflater", + "version": "1.22.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#libdeflater@1.22.0", + "license": "Apache-2.0", + "license_file": null, + "description": "Bindings to libdeflate for DEFLATE (de)compression exposed as non-streaming buffer\noperations. Contains bindings for raw deflate, zlib, and gzip data.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "libdeflate-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.22.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "adler32", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "flate2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.11", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "libdeflater", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflater-1.22.0/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "integration_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflater-1.22.0/tests/integration_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "benchmarks", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflater-1.22.0/benches/benchmarks.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "custom_benches", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflater-1.22.0/benches/custom_benches.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "dynamic": [ + "libdeflate-sys/dynamic" + ], + "freestanding": [ + "libdeflate-sys/freestanding", + "use_rust_alloc" + ], + "use_rust_alloc": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/libdeflater-1.22.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Adam Kewley " + ], + "categories": [ + "compression", + "api-bindings" + ], + "keywords": [ + "gzip", + "zlib", + "deflate", + "encoding" + ], + "readme": "README.md", + "repository": "https://github.com/adamkewley/libdeflater", + "homepage": "https://github.com/adamkewley/libdeflater", + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "linux-raw-sys", + "version": "0.4.14", + "id": "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.4.14", + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_file": null, + "description": "Generated bindings for Linux's userspace API", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.49", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.100", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "static_assertions", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "linux_raw_sys", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/linux-raw-sys-0.4.14/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "bootparam": [], + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "default": [ + "std", + "general", + "errno" + ], + "elf": [], + "errno": [], + "general": [], + "if_arp": [], + "if_ether": [], + "if_packet": [], + "io_uring": [], + "ioctl": [], + "loop_device": [], + "mempolicy": [], + "net": [], + "netlink": [], + "no_std": [], + "prctl": [], + "rustc-dep-of-std": [ + "core", + "compiler_builtins", + "no_std" + ], + "std": [], + "system": [], + "xdp": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/linux-raw-sys-0.4.14/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "default", + "bootparam", + "ioctl", + "netlink", + "io_uring", + "if_arp", + "if_ether", + "if_packet", + "net", + "prctl", + "elf", + "xdp", + "mempolicy", + "system", + "loop_device" + ], + "targets": [ + "x86_64-unknown-linux-gnu", + "i686-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "Dan Gohman " + ], + "categories": [ + "external-ffi-bindings" + ], + "keywords": [ + "linux", + "uapi", + "ffi" + ], + "readme": "README.md", + "repository": "https://github.com/sunfishcode/linux-raw-sys", + "homepage": null, + "documentation": "https://docs.rs/linux-raw-sys", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.63" + }, + { + "name": "litemap", + "version": "0.7.3", + "id": "registry+https://github.com/rust-lang/crates.io-index#litemap@0.7.3", + "license": "Unicode-3.0", + "license_file": null, + "description": "A key-value Map implementation based on a flat, sorted Vec.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "yoke", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.4", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "use-std" + ], + "target": null, + "registry": null + }, + { + "name": "rkyv", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "validation" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "litemap", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "language_names_hash_map", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/examples/language_names_hash_map.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "language_names_lite_map", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/examples/language_names_lite_map.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "litemap_bincode", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/examples/litemap_bincode.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "litemap_postcard", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/examples/litemap_postcard.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "rkyv", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/tests/rkyv.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/tests/serde.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "store", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/tests/store.rs", + "edition": "2021", + "required-features": [ + "testing" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "litemap", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/benches/litemap.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "bench": [ + "serde" + ], + "databake": [ + "dep:databake" + ], + "default": [ + "alloc" + ], + "serde": [ + "dep:serde" + ], + "testing": [ + "alloc" + ], + "yoke": [ + "dep:yoke" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/litemap-0.7.3/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ] + }, + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [], + "keywords": [ + "sorted", + "vec", + "map", + "hashmap", + "btreemap" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": "https://docs.rs/litemap", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "memchr", + "version": "2.7.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4", + "license": "Unlicense OR MIT", + "license_file": null, + "description": "Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for\n1, 2 or 3 byte search and single substring search.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "log", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.20", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quickcheck", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "memchr", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.7.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "alloc": [], + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "default": [ + "std" + ], + "libc": [], + "logging": [ + "dep:log" + ], + "rustc-dep-of-std": [ + "core", + "compiler_builtins" + ], + "std": [ + "alloc" + ], + "use_std": [ + "std" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.7.4/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "Andrew Gallant ", + "bluss" + ], + "categories": [], + "keywords": [ + "memchr", + "memmem", + "substring", + "find", + "search" + ], + "readme": "README.md", + "repository": "https://github.com/BurntSushi/memchr", + "homepage": "https://github.com/BurntSushi/memchr", + "documentation": "https://docs.rs/memchr/", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.61" + }, + { + "name": "once_cell", + "version": "1.20.2", + "id": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.20.2", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Single assignment cells and lazy values.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "critical-section", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1.3", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "parking_lot_core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.9.10", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "portable-atomic", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "critical-section", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "std" + ], + "target": null, + "registry": null + }, + { + "name": "regex", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.10.6", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "once_cell", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/bench.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "bench_acquire", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/bench_acquire.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "lazy_static", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/lazy_static.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "reentrant_init_deadlocks", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/reentrant_init_deadlocks.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "regex", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/regex.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "test_synchronization", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/examples/test_synchronization.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "it", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/tests/it/main.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "alloc": [ + "race" + ], + "atomic-polyfill": [ + "critical-section" + ], + "critical-section": [ + "dep:critical-section", + "portable-atomic" + ], + "default": [ + "std" + ], + "parking_lot": [ + "dep:parking_lot_core" + ], + "portable-atomic": [ + "dep:portable-atomic" + ], + "race": [], + "std": [ + "alloc" + ], + "unstable": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/once_cell-1.20.2/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "Aleksey Kladov " + ], + "categories": [ + "rust-patterns", + "memory-management" + ], + "keywords": [ + "lazy", + "static" + ], + "readme": "README.md", + "repository": "https://github.com/matklad/once_cell", + "homepage": null, + "documentation": "https://docs.rs/once_cell", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.60" + }, + { + "name": "oxford_join", + "version": "0.4.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#oxford_join@0.4.0", + "license": "WTFPL", + "license_file": null, + "description": "Join string slices with Oxford Commas!", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "oxford_join", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/oxford_join-0.4.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "oj_join", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/oxford_join-0.4.0/benches/oj_join.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/oxford_join-0.4.0/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "Oxford Join" + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [ + "no-std" + ], + "keywords": [ + "join", + "string", + "list", + "grammar" + ], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/oxford_join", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.81" + }, + { + "name": "percent-encoding", + "version": "2.3.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Percent encoding and decoding", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "percent_encoding", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/percent-encoding-2.3.1/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "alloc": [], + "default": [ + "std" + ], + "std": [ + "alloc" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/percent-encoding-2.3.1/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "The rust-url developers" + ], + "categories": [ + "no_std" + ], + "keywords": [], + "readme": null, + "repository": "https://github.com/servo/rust-url/", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.51" + }, + { + "name": "proc-macro2", + "version": "1.0.89", + "id": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "unicode-ident", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "flate2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tar", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "proc_macro2", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "comments", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/comments.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "features", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/features.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "marker", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/marker.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/test.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_fmt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/test_fmt.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_size", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/tests/test_size.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "default": [ + "proc-macro" + ], + "nightly": [], + "proc-macro": [], + "span-locations": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustc-args": [ + "--cfg", + "procmacro2_semver_exempt" + ], + "rustdoc-args": [ + "--cfg", + "procmacro2_semver_exempt", + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + }, + "playground": { + "features": [ + "span-locations" + ] + } + }, + "publish": null, + "authors": [ + "David Tolnay ", + "Alex Crichton " + ], + "categories": [ + "development-tools::procedural-macro-helpers" + ], + "keywords": [ + "macros", + "syn" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/proc-macro2", + "homepage": null, + "documentation": "https://docs.rs/proc-macro2", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "quote", + "version": "1.0.37", + "id": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Quasi-quoting macro quote!(...)", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.80", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "trybuild", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.66", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "diff" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "quote", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.37/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "compiletest", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.37/tests/compiletest.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.37/tests/test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "default": [ + "proc-macro" + ], + "proc-macro": [ + "proc-macro2/proc-macro" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/quote-1.0.37/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "development-tools::procedural-macro-helpers" + ], + "keywords": [ + "macros", + "syn" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/quote", + "homepage": null, + "documentation": "https://docs.rs/quote/", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "rustix", + "version": "0.38.38", + "id": "registry+https://github.com/rust-lang/crates.io-index#rustix@0.38.38", + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_file": null, + "description": "Safe Rust bindings to POSIX/Unix/Linux/Winsock-like syscalls", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "bitflags", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.4.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "compiler_builtins", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.49", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-core", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": "core", + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "itoa", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-std-workspace-alloc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "flate2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.161", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "errno", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.8", + "kind": "dev", + "rename": "libc_errno", + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "memoffset", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.9.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serial_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "static_assertions", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tempfile", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^3.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "linux-raw-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.14", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "general", + "ioctl", + "no_std" + ], + "target": "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))", + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(criterion, not(any(target_os = \"emscripten\", target_os = \"wasi\"))))", + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.161", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))", + "registry": null + }, + { + "name": "errno", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.8", + "kind": null, + "rename": "libc_errno", + "optional": true, + "uses_default_features": false, + "features": [], + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))", + "registry": null + }, + { + "name": "linux-raw-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.14", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "general", + "errno", + "ioctl", + "no_std", + "elf" + ], + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))", + "registry": null + }, + { + "name": "libc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.161", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))", + "registry": null + }, + { + "name": "errno", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.8", + "kind": null, + "rename": "libc_errno", + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))", + "registry": null + }, + { + "name": "once_cell", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.5.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": "cfg(any(target_os = \"android\", target_os = \"linux\"))", + "registry": null + }, + { + "name": "errno", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.8", + "kind": null, + "rename": "libc_errno", + "optional": false, + "uses_default_features": false, + "features": [], + "target": "cfg(windows)", + "registry": null + }, + { + "name": "windows-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "Win32_Foundation", + "Win32_Networking_WinSock", + "Win32_NetworkManagement_IpHelper", + "Win32_System_Threading" + ], + "target": "cfg(windows)", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "rustix", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.38/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "mod", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.38/benches/mod.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.38/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "all-apis": [ + "event", + "fs", + "io_uring", + "mm", + "mount", + "net", + "param", + "pipe", + "process", + "procfs", + "pty", + "rand", + "runtime", + "shm", + "stdio", + "system", + "termios", + "thread", + "time" + ], + "alloc": [], + "cc": [], + "compiler_builtins": [ + "dep:compiler_builtins" + ], + "core": [ + "dep:core" + ], + "default": [ + "std", + "use-libc-auxv" + ], + "event": [], + "fs": [], + "io_uring": [ + "event", + "fs", + "net", + "linux-raw-sys/io_uring" + ], + "itoa": [ + "dep:itoa" + ], + "libc": [ + "dep:libc" + ], + "libc-extra-traits": [ + "libc?/extra_traits" + ], + "libc_errno": [ + "dep:libc_errno" + ], + "linux_4_11": [], + "linux_latest": [ + "linux_4_11" + ], + "mm": [], + "mount": [], + "net": [ + "linux-raw-sys/net", + "linux-raw-sys/netlink", + "linux-raw-sys/if_ether", + "linux-raw-sys/xdp" + ], + "once_cell": [ + "dep:once_cell" + ], + "param": [ + "fs" + ], + "pipe": [], + "process": [ + "linux-raw-sys/prctl" + ], + "procfs": [ + "once_cell", + "itoa", + "fs" + ], + "pty": [ + "itoa", + "fs" + ], + "rand": [], + "runtime": [ + "linux-raw-sys/prctl" + ], + "rustc-dep-of-std": [ + "core", + "rustc-std-workspace-alloc", + "compiler_builtins", + "linux-raw-sys/rustc-dep-of-std", + "bitflags/rustc-dep-of-std", + "compiler_builtins?/rustc-dep-of-std" + ], + "rustc-std-workspace-alloc": [ + "dep:rustc-std-workspace-alloc" + ], + "shm": [ + "fs" + ], + "std": [ + "bitflags/std", + "alloc", + "libc?/std", + "libc_errno?/std", + "libc-extra-traits" + ], + "stdio": [], + "system": [ + "linux-raw-sys/system" + ], + "termios": [], + "thread": [ + "linux-raw-sys/prctl" + ], + "time": [], + "try_close": [], + "use-explicitly-provided-auxv": [], + "use-libc": [ + "libc_errno", + "libc", + "libc-extra-traits" + ], + "use-libc-auxv": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.38/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "all-apis" + ], + "targets": [ + "x86_64-unknown-linux-gnu", + "i686-unknown-linux-gnu", + "x86_64-apple-darwin", + "x86_64-pc-windows-msvc", + "x86_64-unknown-freebsd", + "x86_64-unknown-openbsd", + "x86_64-unknown-netbsd", + "x86_64-unknown-dragonfly", + "x86_64-unknown-illumos", + "x86_64-unknown-redox", + "x86_64-unknown-haiku", + "wasm32-unknown-emscripten", + "wasm32-wasi" + ] + } + } + }, + "publish": null, + "authors": [ + "Dan Gohman ", + "Jakub Konka " + ], + "categories": [ + "os::unix-apis", + "date-and-time", + "filesystem", + "network-programming" + ], + "keywords": [ + "api", + "file", + "network", + "safe", + "syscall" + ], + "readme": "README.md", + "repository": "https://github.com/bytecodealliance/rustix", + "homepage": null, + "documentation": "https://docs.rs/rustix", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.63" + }, + { + "name": "ryu", + "version": "1.0.18", + "id": "registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.18", + "license": "Apache-2.0 OR BSL-1.0", + "license_file": null, + "description": "Fast floating point to string conversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "no-panic", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "num_cpus", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand_xorshift", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "ryu", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "upstream_benchmark", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/examples/upstream_benchmark.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "s2f_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/s2f_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "common_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/common_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "s2d_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/s2d_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "d2s_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/d2s_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "f2s_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/f2s_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "d2s_table_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/d2s_table_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "exhaustive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/exhaustive.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "d2s_intrinsics_test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/tests/d2s_intrinsics_test.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/benches/bench.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "no-panic": [ + "dep:no-panic" + ], + "small": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/ryu-1.0.18/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "value-formatting", + "no-std", + "no-std::no-alloc" + ], + "keywords": [ + "float" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/ryu", + "homepage": null, + "documentation": "https://docs.rs/ryu", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.36" + }, + { + "name": "semver", + "version": "1.0.23", + "id": "registry+https://github.com/rust-lang/crates.io-index#semver@1.0.23", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Parser and evaluator for Cargo's flavor of Semantic Versioning", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.194", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "semver", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_version_req", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/tests/test_version_req.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_identifier", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/tests/test_identifier.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_autotrait", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/tests/test_autotrait.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_version", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/tests/test_version.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "parse", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/benches/parse.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/build.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "default": [ + "std" + ], + "serde": [ + "dep:serde" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/semver-1.0.23/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--cfg", + "doc_cfg", + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "data-structures", + "no-std" + ], + "keywords": [ + "cargo" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/semver", + "homepage": null, + "documentation": "https://docs.rs/semver", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.31" + }, + { + "name": "serde", + "version": "1.0.214", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A generic serialization/deserialization framework", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=1.0.214", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(any())", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.214/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.214/build.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "default": [ + "std" + ], + "derive": [ + "serde_derive" + ], + "rc": [], + "serde_derive": [ + "dep:serde_derive" + ], + "std": [], + "unstable": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.214/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "derive", + "rc", + "unstable" + ], + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + }, + "playground": { + "features": [ + "derive", + "rc" + ] + } + }, + "publish": null, + "authors": [ + "Erick Tryzelaar ", + "David Tolnay " + ], + "categories": [ + "encoding", + "no-std", + "no-std::no-alloc" + ], + "keywords": [ + "serde", + "serialization", + "no_std" + ], + "readme": "crates-io.md", + "repository": "https://github.com/serde-rs/serde", + "homepage": "https://serde.rs", + "documentation": "https://docs.rs/serde", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.31" + }, + { + "name": "serde_derive", + "version": "1.0.214", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.214", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.74", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "proc-macro" + ], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.35", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "proc-macro" + ], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.81", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "clone-impls", + "derive", + "parsing", + "printing", + "proc-macro" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "serde_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_derive-1.0.214/src/lib.rs", + "edition": "2015", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "default": [], + "deserialize_in_place": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_derive-1.0.214/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "Erick Tryzelaar ", + "David Tolnay " + ], + "categories": [ + "no-std", + "no-std::no-alloc" + ], + "keywords": [ + "serde", + "serialization", + "no_std", + "derive" + ], + "readme": "crates-io.md", + "repository": "https://github.com/serde-rs/serde", + "homepage": "https://serde.rs", + "documentation": "https://serde.rs/derive.html", + "edition": "2015", + "links": null, + "default_run": null, + "rust_version": "1.61" + }, + { + "name": "serde_json", + "version": "1.0.132", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A JSON serialization file format", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "indexmap", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.2.3", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "itoa", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "memchr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "ryu", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.194", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "automod", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.11", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "indoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "ref-cast", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.18", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.13", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.194", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_bytes", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.11.10", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.166", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_stacker", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "trybuild", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.81", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "diff" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "serde_json", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "compiletest", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/compiletest.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "debug", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/debug.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "lexical", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/lexical.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "map", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/map.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "regression", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/regression.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "stream", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/stream.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/tests/test.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [ + "serde/alloc" + ], + "arbitrary_precision": [], + "default": [ + "std" + ], + "float_roundtrip": [], + "indexmap": [ + "dep:indexmap" + ], + "preserve_order": [ + "indexmap", + "std" + ], + "raw_value": [], + "std": [ + "memchr/std", + "serde/std" + ], + "unbounded_depth": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.132/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "preserve_order", + "raw_value", + "unbounded_depth" + ], + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + }, + "playground": { + "features": [ + "raw_value" + ] + } + }, + "publish": null, + "authors": [ + "Erick Tryzelaar ", + "David Tolnay " + ], + "categories": [ + "encoding", + "parser-implementations", + "no-std" + ], + "keywords": [ + "json", + "serde", + "serialization" + ], + "readme": "README.md", + "repository": "https://github.com/serde-rs/json", + "homepage": null, + "documentation": "https://docs.rs/serde_json", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "serde_spanned", + "version": "0.6.8", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Serde-compatible spanned Value", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.145", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde-untagged", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "serde_spanned", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_spanned-0.6.8/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "serde": [ + "dep:serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_spanned-0.6.8/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n## [Unreleased] - ReleaseDate\n", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", + "search": "" + } + ] + } + }, + "publish": null, + "authors": [], + "categories": [ + "encoding", + "parser-implementations", + "parsing", + "config" + ], + "keywords": [ + "serde", + "span" + ], + "readme": "README.md", + "repository": "https://github.com/toml-rs/toml", + "homepage": "https://github.com/toml-rs/toml", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.65" + }, + { + "name": "shlex", + "version": "1.3.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#shlex@1.3.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Split a string into shell words, like Python's shlex.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "shlex", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/shlex-1.3.0/src/lib.rs", + "edition": "2015", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "default": [ + "std" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/shlex-1.3.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "comex ", + "Fenhl ", + "Adrian Taylor ", + "Alex Touchet ", + "Daniel Parks ", + "Garrett Berg " + ], + "categories": [ + "command-line-interface", + "parser-implementations" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/comex/rust-shlex", + "homepage": null, + "documentation": null, + "edition": "2015", + "links": null, + "default_run": null, + "rust_version": "1.46.0" + }, + { + "name": "smallvec", + "version": "1.13.2", + "id": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "'Small vector' optimization: store up to a small number of items on the stack", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "arbitrary", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "debugger_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "debugger_test_parser", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "smallvec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "debugger_visualizer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/tests/debugger_visualizer.rs", + "edition": "2018", + "required-features": [ + "debugger_visualizer" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "macro", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/tests/macro.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/benches/bench.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "arbitrary": [ + "dep:arbitrary" + ], + "const_generics": [], + "const_new": [ + "const_generics" + ], + "debugger_visualizer": [], + "drain_filter": [], + "drain_keep_rest": [ + "drain_filter" + ], + "may_dangle": [], + "serde": [ + "dep:serde" + ], + "specialization": [], + "union": [], + "write": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs", + "--generate-link-to-definition" + ] + } + } + }, + "publish": null, + "authors": [ + "The Servo Project Developers" + ], + "categories": [ + "data-structures" + ], + "keywords": [ + "small", + "vec", + "vector", + "stack", + "no_std" + ], + "readme": "README.md", + "repository": "https://github.com/servo/rust-smallvec", + "homepage": null, + "documentation": "https://docs.rs/smallvec/", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "stable_deref_trait", + "version": "1.2.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "license": "MIT/Apache-2.0", + "license_file": null, + "description": "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "stable_deref_trait", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/stable_deref_trait-1.2.0/src/lib.rs", + "edition": "2015", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "alloc": [], + "default": [ + "std" + ], + "std": [ + "alloc" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/stable_deref_trait-1.2.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Robert Grosse " + ], + "categories": [ + "memory-management", + "no-std" + ], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/storyyeller/stable_deref_trait", + "homepage": null, + "documentation": "https://docs.rs/stable_deref_trait/1.2.0/stable_deref_trait", + "edition": "2015", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "syn", + "version": "2.0.85", + "id": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Parser for Rust source code", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.83", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.35", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "unicode-ident", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "anyhow", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "automod", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "insta", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "ref-cast", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustversion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn-test-suite", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "termcolor", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "flate2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(miri))", + "registry": null + }, + { + "name": "rayon", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(miri))", + "registry": null + }, + { + "name": "reqwest", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.12", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "blocking" + ], + "target": "cfg(not(miri))", + "registry": null + }, + { + "name": "tar", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.16", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(miri))", + "registry": null + }, + { + "name": "walkdir", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.3.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(miri))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "syn", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "regression", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/regression.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_asyncness", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_asyncness.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_attribute", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_attribute.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_derive_input", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_derive_input.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_expr", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_expr.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_generics", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_generics.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_grouping", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_grouping.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_ident", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_ident.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_item", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_item.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_iterators", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_iterators.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_lit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_lit.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_meta", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_meta.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_parse_buffer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_parse_buffer.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_parse_quote", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_parse_quote.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_parse_stream", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_parse_stream.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_pat", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_pat.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_path", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_path.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_precedence", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_precedence.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_receiver", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_receiver.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_round_trip", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_round_trip.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_shebang", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_shebang.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_size", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_size.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_stmt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_stmt.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_token_trees", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_token_trees.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_ty", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_ty.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_unparenthesize", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_unparenthesize.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "test_visibility", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/test_visibility.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "zzz_stable", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/tests/zzz_stable.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "file", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/benches/file.rs", + "edition": "2021", + "required-features": [ + "full", + "parsing" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "rust", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/benches/rust.rs", + "edition": "2021", + "required-features": [ + "full", + "parsing" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "clone-impls": [], + "default": [ + "derive", + "parsing", + "printing", + "clone-impls", + "proc-macro" + ], + "derive": [], + "extra-traits": [], + "fold": [], + "full": [], + "parsing": [], + "printing": [ + "dep:quote" + ], + "proc-macro": [ + "proc-macro2/proc-macro", + "quote?/proc-macro" + ], + "test": [ + "syn-test-suite/all-features" + ], + "visit": [], + "visit-mut": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.85/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--generate-link-to-definition", + "--extend-css=src/gen/token.css" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + }, + "playground": { + "features": [ + "full", + "visit", + "visit-mut", + "fold", + "extra-traits" + ] + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "development-tools::procedural-macro-helpers", + "parser-implementations" + ], + "keywords": [ + "macros", + "syn" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/syn", + "homepage": null, + "documentation": "https://docs.rs/syn", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.61" + }, + { + "name": "synstructure", + "version": "0.13.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1", + "license": "MIT", + "license_file": null, + "description": "Helper methods and macros for custom derives", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.60", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive", + "parsing", + "printing", + "clone-impls", + "visit", + "extra-traits" + ], + "target": null, + "registry": null + }, + { + "name": "synstructure_test_traits", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "synstructure", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/synstructure-0.13.1/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "default": [ + "proc-macro" + ], + "proc-macro": [ + "proc-macro2/proc-macro", + "syn/proc-macro", + "quote/proc-macro" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/synstructure-0.13.1/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Nika Layzell " + ], + "categories": [], + "keywords": [ + "syn", + "macros", + "derive", + "expand_substructure", + "enum" + ], + "readme": "README.md", + "repository": "https://github.com/mystor/synstructure", + "homepage": null, + "documentation": "https://docs.rs/synstructure", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "tempfile", + "version": "3.13.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.13.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A library for managing temporary files and directories.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "cfg-if", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fastrand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.1.1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "once_cell", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.19.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "std" + ], + "target": null, + "registry": null + }, + { + "name": "doc-comment", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustix", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.38.37", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "fs" + ], + "target": "cfg(any(unix, target_os = \"wasi\"))", + "registry": null + }, + { + "name": "windows-sys", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.59", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "Win32_Storage_FileSystem", + "Win32_Foundation" + ], + "target": "cfg(windows)", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "tempfile", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "env", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/tests/env.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "namedtempfile", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/tests/namedtempfile.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "spooled", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/tests/spooled.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tempdir", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/tests/tempdir.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tempfile", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/tests/tempfile.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "nightly": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tempfile-3.13.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Steven Allen ", + "The Rust Project Developers", + "Ashley Mannix ", + "Jason White " + ], + "categories": [], + "keywords": [ + "tempfile", + "tmpfile", + "filesystem" + ], + "readme": "README.md", + "repository": "https://github.com/Stebalien/tempfile", + "homepage": "https://stebalien.com/projects/tempfile-rs/", + "documentation": "https://docs.rs/tempfile", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.63" + }, + { + "name": "tinystr", + "version": "0.7.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "license": "Unicode-3.0", + "license_file": null, + "description": "A small ASCII-only bounded length string representation.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "displaydoc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "zerovec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "use-std" + ], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "tinystr", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/tests/serde.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "construct", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/benches/construct.rs", + "edition": "2021", + "required-features": [ + "bench" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "overview", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/benches/overview.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "read", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/benches/read.rs", + "edition": "2021", + "required-features": [ + "bench" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/benches/serde.rs", + "edition": "2021", + "required-features": [ + "bench", + "serde" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "bench": [], + "databake": [ + "dep:databake" + ], + "default": [ + "alloc" + ], + "serde": [ + "dep:serde" + ], + "std": [], + "zerovec": [ + "dep:zerovec" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinystr-0.7.6/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ] + }, + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "data-structures" + ], + "keywords": [ + "string", + "str", + "small", + "tiny", + "no_std" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "tinyvec", + "version": "1.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.8.0", + "license": "Zlib OR Apache-2.0 OR MIT", + "license_file": null, + "description": "`tinyvec` provides 100% safe vec-like data structures.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "arbitrary", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tinyvec_macros", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "debugger_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "debugger_test_parser", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "smallvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "tinyvec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "tinyvec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/tests/tinyvec.rs", + "edition": "2018", + "required-features": [ + "alloc", + "std" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "debugger_visualizer", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/tests/debugger_visualizer.rs", + "edition": "2018", + "required-features": [ + "debugger_visualizer" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "arrayvec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/tests/arrayvec.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "macros", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/benches/macros.rs", + "edition": "2018", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "smallvec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/benches/smallvec.rs", + "edition": "2018", + "required-features": [ + "alloc", + "real_blackbox" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [ + "tinyvec_macros" + ], + "arbitrary": [ + "dep:arbitrary" + ], + "debugger_visualizer": [], + "default": [], + "experimental_write_impl": [], + "grab_spare_slice": [], + "nightly_slice_partition_dedup": [], + "real_blackbox": [ + "criterion/real_blackbox" + ], + "rustc_1_40": [], + "rustc_1_55": [], + "rustc_1_57": [ + "rustc_1_55" + ], + "rustc_1_61": [], + "serde": [ + "dep:serde" + ], + "std": [ + "alloc" + ], + "tinyvec_macros": [ + "dep:tinyvec_macros" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec-1.8.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "alloc", + "std", + "grab_spare_slice", + "rustc_1_55", + "serde" + ], + "rustdoc-args": [ + "--cfg", + "docs_rs" + ] + } + }, + "playground": { + "features": [ + "alloc", + "std", + "grab_spare_slice", + "rustc_1_55", + "serde" + ] + } + }, + "publish": null, + "authors": [ + "Lokathor " + ], + "categories": [ + "data-structures", + "no-std" + ], + "keywords": [ + "vec", + "no_std", + "no-std" + ], + "readme": "README.md", + "repository": "https://github.com/Lokathor/tinyvec", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "tinyvec_macros", + "version": "0.1.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1", + "license": "MIT OR Apache-2.0 OR Zlib", + "license_file": null, + "description": "Some macros for tiny containers", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "tinyvec_macros", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec_macros-0.1.1/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tinyvec_macros-0.1.1/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Soveu " + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/Soveu/tinyvec_macros", + "homepage": null, + "documentation": null, + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "toml", + "version": "0.8.19", + "id": "registry+https://github.com/rust-lang/crates.io-index#toml@0.8.19", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A native Rust encoder and decoder of TOML-formatted files and streams. Provides\nimplementations of the standard Serialize/Deserialize traits for TOML data to\nfacilitate deserializing and serializing Rust structures.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "indexmap", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.145", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_spanned", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.7", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "toml_datetime", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.8", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "toml_edit", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.22.20", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.199", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.116", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "snapbox", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml-test-data", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.11.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml-test-harness", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "toml", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "decode", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/examples/decode.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "enum_external", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/examples/enum_external.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "toml2json", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/examples/toml2json.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "decoder", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/tests/decoder.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "decoder_compliance", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/tests/decoder_compliance.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "encoder", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/tests/encoder.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "encoder_compliance", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/tests/encoder_compliance.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "testsuite", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/tests/testsuite/main.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "default": [ + "parse", + "display" + ], + "display": [ + "dep:toml_edit", + "toml_edit?/display" + ], + "indexmap": [ + "dep:indexmap" + ], + "parse": [ + "dep:toml_edit", + "toml_edit?/parse" + ], + "preserve_order": [ + "indexmap" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-0.8.19/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n## [Unreleased] - ReleaseDate\n", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", + "search": "" + } + ] + } + }, + "publish": null, + "authors": [ + "Alex Crichton " + ], + "categories": [ + "encoding", + "parser-implementations", + "parsing", + "config" + ], + "keywords": [ + "encoding", + "toml" + ], + "readme": "README.md", + "repository": "https://github.com/toml-rs/toml", + "homepage": "https://github.com/toml-rs/toml", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.65" + }, + { + "name": "toml_datetime", + "version": "0.6.8", + "id": "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "A TOML-compatible datetime type", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.145", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "toml_datetime", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_datetime-0.6.8/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "serde": [ + "dep:serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_datetime-0.6.8/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n## [Unreleased] - ReleaseDate\n", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", + "search": "" + } + ] + } + }, + "publish": null, + "authors": [ + "Alex Crichton " + ], + "categories": [ + "encoding", + "parser-implementations", + "parsing", + "config" + ], + "keywords": [ + "encoding", + "toml" + ], + "readme": "README.md", + "repository": "https://github.com/toml-rs/toml", + "homepage": "https://github.com/toml-rs/toml", + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.65" + }, + { + "name": "toml_edit", + "version": "0.22.22", + "id": "registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.22.22", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Yet another format-preserving TOML parser.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "indexmap", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.3.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "std" + ], + "target": null, + "registry": null + }, + { + "name": "kstring", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "max_inline" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.145", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_spanned", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.7", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "serde" + ], + "target": null, + "registry": null + }, + { + "name": "toml_datetime", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.8", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "winnow", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.18", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "libtest-mimic", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "proptest", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.116", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "snapbox", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml-test-data", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.11.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "toml-test-harness", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "toml_edit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "visit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/examples/visit.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "decoder_compliance", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/tests/decoder_compliance.rs", + "edition": "2021", + "required-features": [ + "parse" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "encoder_compliance", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/tests/encoder_compliance.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "invalid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/tests/invalid.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "testsuite", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/tests/testsuite/main.rs", + "edition": "2021", + "required-features": [ + "parse", + "display" + ], + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "default": [ + "parse", + "display" + ], + "display": [], + "parse": [ + "dep:winnow" + ], + "perf": [ + "dep:kstring" + ], + "serde": [ + "dep:serde", + "toml_datetime/serde", + "dep:serde_spanned" + ], + "unbounded": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/toml_edit-0.22.22/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "serde" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "tag-name": "v{{version}}", + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n## [Unreleased] - ReleaseDate\n", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/toml-rs/toml/compare/{{tag_name}}...HEAD", + "search": "" + } + ] + } + }, + "publish": null, + "authors": [ + "Andronik Ordian ", + "Ed Page " + ], + "categories": [ + "encoding", + "parser-implementations", + "parsing", + "config" + ], + "keywords": [ + "encoding", + "toml" + ], + "readme": "README.md", + "repository": "https://github.com/toml-rs/toml", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.65" + }, + { + "name": "trimothy", + "version": "0.3.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1", + "license": "WTFPL", + "license_file": null, + "description": "Traits for trimming slices, vecs, and strings.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "trimothy", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/trimothy-0.3.1/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_trim_mut", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/trimothy-0.3.1/benches/fn_trim_mut.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "fn_trim_slice", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/trimothy-0.3.1/benches/fn_trim_slice.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/trimothy-0.3.1/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "Trimothy" + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [ + "no-std" + ], + "keywords": [ + "trim" + ], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/trimothy", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.80" + }, + { + "name": "unicode-bidi", + "version": "0.3.17", + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.17", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Implementation of the Unicode Bidirectional Algorithm", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "flame", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "flamer", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": ">=0.8, <2.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "smallvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": ">=1.13", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "union" + ], + "target": null, + "registry": null + }, + { + "name": "serde_test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": ">=0.8, <2.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "unicode_bidi", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-bidi-0.3.17/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "bench_it": [], + "default": [ + "std", + "hardcoded-data" + ], + "flame": [ + "dep:flame" + ], + "flame_it": [ + "flame", + "flamer" + ], + "flamer": [ + "dep:flamer" + ], + "hardcoded-data": [], + "serde": [ + "dep:serde" + ], + "smallvec": [ + "dep:smallvec" + ], + "std": [], + "unstable": [], + "with_serde": [ + "serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-bidi-0.3.17/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "The Servo Project Developers" + ], + "categories": [ + "no-std", + "encoding", + "text-processing" + ], + "keywords": [ + "rtl", + "unicode", + "text", + "layout", + "bidi" + ], + "readme": "README.md", + "repository": "https://github.com/servo/unicode-bidi", + "homepage": null, + "documentation": "https://docs.rs/unicode-bidi/", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.47.0" + }, + { + "name": "unicode-ident", + "version": "1.0.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13", + "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", + "license_file": null, + "description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fst", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "small_rng" + ], + "target": null, + "registry": null + }, + { + "name": "roaring", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "ucd-trie", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "unicode-xid", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "unicode_ident", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.13/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "compare", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.13/tests/compare.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "static_size", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.13/tests/static_size.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "xid", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.13/benches/xid.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-ident-1.0.13/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "rustdoc-args": [ + "--generate-link-to-definition" + ], + "targets": [ + "x86_64-unknown-linux-gnu" + ] + } + } + }, + "publish": null, + "authors": [ + "David Tolnay " + ], + "categories": [ + "development-tools::procedural-macro-helpers", + "no-std", + "no-std::no-alloc" + ], + "keywords": [ + "unicode", + "xid" + ], + "readme": "README.md", + "repository": "https://github.com/dtolnay/unicode-ident", + "homepage": null, + "documentation": "https://docs.rs/unicode-ident", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.31" + }, + { + "name": "unicode-normalization", + "version": "0.1.24", + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-normalization@0.1.24", + "license": "MIT/Apache-2.0", + "license_file": null, + "description": "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "tinyvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "alloc" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "unicode_normalization", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-normalization-0.1.24/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "bench", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-normalization-0.1.24/benches/bench.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "default": [ + "std" + ], + "std": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/unicode-normalization-0.1.24/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "kwantam ", + "Manish Goregaokar " + ], + "categories": [], + "keywords": [ + "text", + "unicode", + "normalization", + "decomposition", + "recomposition" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-rs/unicode-normalization", + "homepage": "https://github.com/unicode-rs/unicode-normalization", + "documentation": "https://docs.rs/unicode-normalization/", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.36" + }, + { + "name": "url", + "version": "2.5.2", + "id": "registry+https://github.com/rust-lang/crates.io-index#url@2.5.2", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "URL library for Rust, based on the WHATWG URL Standard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "form_urlencoded", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "idna", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "percent-encoding", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.3.1", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "bencher", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "wasm-bindgen-test", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "url", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.2/src/lib.rs", + "edition": "2018", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "unit", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.2/tests/unit.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "url_wpt", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.2/tests/wpt.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "parse_url", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.2/benches/parse_url.rs", + "edition": "2018", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "debugger_visualizer": [], + "default": [], + "expose_internals": [], + "serde": [ + "dep:serde" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/url-2.5.2/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "features": [ + "serde" + ], + "rustdoc-args": [ + "--generate-link-to-definition" + ] + } + }, + "playground": { + "features": [ + "serde" + ] + } + }, + "publish": null, + "authors": [ + "The rust-url developers" + ], + "categories": [ + "parser-implementations", + "web-programming", + "encoding" + ], + "keywords": [ + "url", + "parser" + ], + "readme": "README.md", + "repository": "https://github.com/servo/rust-url", + "homepage": null, + "documentation": "https://docs.rs/url", + "edition": "2018", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "utc2k", + "version": "0.11.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#utc2k@0.11.0", + "license": "WTFPL", + "license_file": null, + "description": "A fast and lean UTC date/time library concerned only with happenings in this century (2000-2099).", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "tz-rs", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "=0.7.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "brunch", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.6.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "fastrand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "1.0.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "time", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "0.3.*", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "std", + "formatting" + ], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "utc2k", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "d_fmtutc2k", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/benches/d_fmtutc2k.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "d_local", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/benches/d_local.rs", + "edition": "2021", + "required-features": [ + "local" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "d_utc2k", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/benches/d_utc2k.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "d_weekmonth", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/benches/d_weekmonth.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "default": [], + "local": [ + "tz-rs" + ], + "serde": [ + "dep:serde" + ], + "tz-rs": [ + "dep:tz-rs" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utc2k-0.11.0/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "UTC2K" + }, + "docs": { + "rs": { + "default-target": "x86_64-unknown-linux-gnu", + "features": [ + "local", + "serde" + ], + "rustc-args": [ + "--cfg", + "docsrs" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [], + "keywords": [ + "time", + "date", + "utc", + "unixtime", + "printing" + ], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/utc2k", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.81" + }, + { + "name": "utf16_iter", + "version": "1.0.5", + "id": "registry+https://github.com/rust-lang/crates.io-index#utf16_iter@1.0.5", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Iterator by char over potentially-invalid UTF-16 in &[u16]", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "utf16_iter", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utf16_iter-1.0.5/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utf16_iter-1.0.5/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Henri Sivonen " + ], + "categories": [ + "text-processing", + "encoding", + "internationalization" + ], + "keywords": [ + "encoding", + "UTF-16", + "unicode", + "iterator" + ], + "readme": "README.md", + "repository": "https://github.com/hsivonen/utf16_iter", + "homepage": "https://docs.rs/utf16_iter/", + "documentation": "https://docs.rs/utf16_iter/", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "utf8_iter", + "version": "1.0.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Iterator by char over potentially-invalid UTF-8 in &[u8]", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "utf8_iter", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utf8_iter-1.0.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/utf8_iter-1.0.4/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Henri Sivonen " + ], + "categories": [ + "text-processing", + "encoding", + "internationalization" + ], + "keywords": [ + "encoding", + "UTF-8", + "unicode", + "iterator" + ], + "readme": "README.md", + "repository": "https://github.com/hsivonen/utf8_iter", + "homepage": "https://docs.rs/utf8_iter/", + "documentation": "https://docs.rs/utf8_iter/", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "windows-sys", + "version": "0.52.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Rust for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "windows-targets", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_sys", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-sys-0.52.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "Wdk": [], + "Wdk_Foundation": [ + "Wdk" + ], + "Wdk_Graphics": [ + "Wdk" + ], + "Wdk_Graphics_Direct3D": [ + "Wdk_Graphics" + ], + "Wdk_Storage": [ + "Wdk" + ], + "Wdk_Storage_FileSystem": [ + "Wdk_Storage" + ], + "Wdk_Storage_FileSystem_Minifilters": [ + "Wdk_Storage_FileSystem" + ], + "Wdk_System": [ + "Wdk" + ], + "Wdk_System_IO": [ + "Wdk_System" + ], + "Wdk_System_OfflineRegistry": [ + "Wdk_System" + ], + "Wdk_System_Registry": [ + "Wdk_System" + ], + "Wdk_System_SystemInformation": [ + "Wdk_System" + ], + "Wdk_System_SystemServices": [ + "Wdk_System" + ], + "Wdk_System_Threading": [ + "Wdk_System" + ], + "Win32": [], + "Win32_Data": [ + "Win32" + ], + "Win32_Data_HtmlHelp": [ + "Win32_Data" + ], + "Win32_Data_RightsManagement": [ + "Win32_Data" + ], + "Win32_Devices": [ + "Win32" + ], + "Win32_Devices_AllJoyn": [ + "Win32_Devices" + ], + "Win32_Devices_BiometricFramework": [ + "Win32_Devices" + ], + "Win32_Devices_Bluetooth": [ + "Win32_Devices" + ], + "Win32_Devices_Communication": [ + "Win32_Devices" + ], + "Win32_Devices_DeviceAndDriverInstallation": [ + "Win32_Devices" + ], + "Win32_Devices_DeviceQuery": [ + "Win32_Devices" + ], + "Win32_Devices_Display": [ + "Win32_Devices" + ], + "Win32_Devices_Enumeration": [ + "Win32_Devices" + ], + "Win32_Devices_Enumeration_Pnp": [ + "Win32_Devices_Enumeration" + ], + "Win32_Devices_Fax": [ + "Win32_Devices" + ], + "Win32_Devices_HumanInterfaceDevice": [ + "Win32_Devices" + ], + "Win32_Devices_PortableDevices": [ + "Win32_Devices" + ], + "Win32_Devices_Properties": [ + "Win32_Devices" + ], + "Win32_Devices_Pwm": [ + "Win32_Devices" + ], + "Win32_Devices_Sensors": [ + "Win32_Devices" + ], + "Win32_Devices_SerialCommunication": [ + "Win32_Devices" + ], + "Win32_Devices_Tapi": [ + "Win32_Devices" + ], + "Win32_Devices_Usb": [ + "Win32_Devices" + ], + "Win32_Devices_WebServicesOnDevices": [ + "Win32_Devices" + ], + "Win32_Foundation": [ + "Win32" + ], + "Win32_Gaming": [ + "Win32" + ], + "Win32_Globalization": [ + "Win32" + ], + "Win32_Graphics": [ + "Win32" + ], + "Win32_Graphics_Dwm": [ + "Win32_Graphics" + ], + "Win32_Graphics_Gdi": [ + "Win32_Graphics" + ], + "Win32_Graphics_GdiPlus": [ + "Win32_Graphics" + ], + "Win32_Graphics_Hlsl": [ + "Win32_Graphics" + ], + "Win32_Graphics_OpenGL": [ + "Win32_Graphics" + ], + "Win32_Graphics_Printing": [ + "Win32_Graphics" + ], + "Win32_Graphics_Printing_PrintTicket": [ + "Win32_Graphics_Printing" + ], + "Win32_Management": [ + "Win32" + ], + "Win32_Management_MobileDeviceManagementRegistration": [ + "Win32_Management" + ], + "Win32_Media": [ + "Win32" + ], + "Win32_Media_Audio": [ + "Win32_Media" + ], + "Win32_Media_DxMediaObjects": [ + "Win32_Media" + ], + "Win32_Media_KernelStreaming": [ + "Win32_Media" + ], + "Win32_Media_Multimedia": [ + "Win32_Media" + ], + "Win32_Media_Streaming": [ + "Win32_Media" + ], + "Win32_Media_WindowsMediaFormat": [ + "Win32_Media" + ], + "Win32_NetworkManagement": [ + "Win32" + ], + "Win32_NetworkManagement_Dhcp": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Dns": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_InternetConnectionWizard": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_IpHelper": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Multicast": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Ndis": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetBios": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetManagement": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetShell": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetworkDiagnosticsFramework": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_P2P": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_QoS": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Rras": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Snmp": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WNet": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WebDav": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WiFi": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsConnectionManager": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsFilteringPlatform": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsFirewall": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsNetworkVirtualization": [ + "Win32_NetworkManagement" + ], + "Win32_Networking": [ + "Win32" + ], + "Win32_Networking_ActiveDirectory": [ + "Win32_Networking" + ], + "Win32_Networking_Clustering": [ + "Win32_Networking" + ], + "Win32_Networking_HttpServer": [ + "Win32_Networking" + ], + "Win32_Networking_Ldap": [ + "Win32_Networking" + ], + "Win32_Networking_WebSocket": [ + "Win32_Networking" + ], + "Win32_Networking_WinHttp": [ + "Win32_Networking" + ], + "Win32_Networking_WinInet": [ + "Win32_Networking" + ], + "Win32_Networking_WinSock": [ + "Win32_Networking" + ], + "Win32_Networking_WindowsWebServices": [ + "Win32_Networking" + ], + "Win32_Security": [ + "Win32" + ], + "Win32_Security_AppLocker": [ + "Win32_Security" + ], + "Win32_Security_Authentication": [ + "Win32_Security" + ], + "Win32_Security_Authentication_Identity": [ + "Win32_Security_Authentication" + ], + "Win32_Security_Authorization": [ + "Win32_Security" + ], + "Win32_Security_Credentials": [ + "Win32_Security" + ], + "Win32_Security_Cryptography": [ + "Win32_Security" + ], + "Win32_Security_Cryptography_Catalog": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_Certificates": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_Sip": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_UI": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_DiagnosticDataQuery": [ + "Win32_Security" + ], + "Win32_Security_DirectoryServices": [ + "Win32_Security" + ], + "Win32_Security_EnterpriseData": [ + "Win32_Security" + ], + "Win32_Security_ExtensibleAuthenticationProtocol": [ + "Win32_Security" + ], + "Win32_Security_Isolation": [ + "Win32_Security" + ], + "Win32_Security_LicenseProtection": [ + "Win32_Security" + ], + "Win32_Security_NetworkAccessProtection": [ + "Win32_Security" + ], + "Win32_Security_WinTrust": [ + "Win32_Security" + ], + "Win32_Security_WinWlx": [ + "Win32_Security" + ], + "Win32_Storage": [ + "Win32" + ], + "Win32_Storage_Cabinets": [ + "Win32_Storage" + ], + "Win32_Storage_CloudFilters": [ + "Win32_Storage" + ], + "Win32_Storage_Compression": [ + "Win32_Storage" + ], + "Win32_Storage_DistributedFileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_FileHistory": [ + "Win32_Storage" + ], + "Win32_Storage_FileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_Imapi": [ + "Win32_Storage" + ], + "Win32_Storage_IndexServer": [ + "Win32_Storage" + ], + "Win32_Storage_InstallableFileSystems": [ + "Win32_Storage" + ], + "Win32_Storage_IscsiDisc": [ + "Win32_Storage" + ], + "Win32_Storage_Jet": [ + "Win32_Storage" + ], + "Win32_Storage_Nvme": [ + "Win32_Storage" + ], + "Win32_Storage_OfflineFiles": [ + "Win32_Storage" + ], + "Win32_Storage_OperationRecorder": [ + "Win32_Storage" + ], + "Win32_Storage_Packaging": [ + "Win32_Storage" + ], + "Win32_Storage_Packaging_Appx": [ + "Win32_Storage_Packaging" + ], + "Win32_Storage_ProjectedFileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_StructuredStorage": [ + "Win32_Storage" + ], + "Win32_Storage_Vhd": [ + "Win32_Storage" + ], + "Win32_Storage_Xps": [ + "Win32_Storage" + ], + "Win32_System": [ + "Win32" + ], + "Win32_System_AddressBook": [ + "Win32_System" + ], + "Win32_System_Antimalware": [ + "Win32_System" + ], + "Win32_System_ApplicationInstallationAndServicing": [ + "Win32_System" + ], + "Win32_System_ApplicationVerifier": [ + "Win32_System" + ], + "Win32_System_ClrHosting": [ + "Win32_System" + ], + "Win32_System_Com": [ + "Win32_System" + ], + "Win32_System_Com_Marshal": [ + "Win32_System_Com" + ], + "Win32_System_Com_StructuredStorage": [ + "Win32_System_Com" + ], + "Win32_System_Com_Urlmon": [ + "Win32_System_Com" + ], + "Win32_System_ComponentServices": [ + "Win32_System" + ], + "Win32_System_Console": [ + "Win32_System" + ], + "Win32_System_CorrelationVector": [ + "Win32_System" + ], + "Win32_System_DataExchange": [ + "Win32_System" + ], + "Win32_System_DeploymentServices": [ + "Win32_System" + ], + "Win32_System_DeveloperLicensing": [ + "Win32_System" + ], + "Win32_System_Diagnostics": [ + "Win32_System" + ], + "Win32_System_Diagnostics_Ceip": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_Debug": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_Debug_Extensions": [ + "Win32_System_Diagnostics_Debug" + ], + "Win32_System_Diagnostics_Etw": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_ProcessSnapshotting": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_ToolHelp": [ + "Win32_System_Diagnostics" + ], + "Win32_System_DistributedTransactionCoordinator": [ + "Win32_System" + ], + "Win32_System_Environment": [ + "Win32_System" + ], + "Win32_System_ErrorReporting": [ + "Win32_System" + ], + "Win32_System_EventCollector": [ + "Win32_System" + ], + "Win32_System_EventLog": [ + "Win32_System" + ], + "Win32_System_EventNotificationService": [ + "Win32_System" + ], + "Win32_System_GroupPolicy": [ + "Win32_System" + ], + "Win32_System_HostCompute": [ + "Win32_System" + ], + "Win32_System_HostComputeNetwork": [ + "Win32_System" + ], + "Win32_System_HostComputeSystem": [ + "Win32_System" + ], + "Win32_System_Hypervisor": [ + "Win32_System" + ], + "Win32_System_IO": [ + "Win32_System" + ], + "Win32_System_Iis": [ + "Win32_System" + ], + "Win32_System_Ioctl": [ + "Win32_System" + ], + "Win32_System_JobObjects": [ + "Win32_System" + ], + "Win32_System_Js": [ + "Win32_System" + ], + "Win32_System_Kernel": [ + "Win32_System" + ], + "Win32_System_LibraryLoader": [ + "Win32_System" + ], + "Win32_System_Mailslots": [ + "Win32_System" + ], + "Win32_System_Mapi": [ + "Win32_System" + ], + "Win32_System_Memory": [ + "Win32_System" + ], + "Win32_System_Memory_NonVolatile": [ + "Win32_System_Memory" + ], + "Win32_System_MessageQueuing": [ + "Win32_System" + ], + "Win32_System_MixedReality": [ + "Win32_System" + ], + "Win32_System_Ole": [ + "Win32_System" + ], + "Win32_System_PasswordManagement": [ + "Win32_System" + ], + "Win32_System_Performance": [ + "Win32_System" + ], + "Win32_System_Performance_HardwareCounterProfiling": [ + "Win32_System_Performance" + ], + "Win32_System_Pipes": [ + "Win32_System" + ], + "Win32_System_Power": [ + "Win32_System" + ], + "Win32_System_ProcessStatus": [ + "Win32_System" + ], + "Win32_System_Recovery": [ + "Win32_System" + ], + "Win32_System_Registry": [ + "Win32_System" + ], + "Win32_System_RemoteDesktop": [ + "Win32_System" + ], + "Win32_System_RemoteManagement": [ + "Win32_System" + ], + "Win32_System_RestartManager": [ + "Win32_System" + ], + "Win32_System_Restore": [ + "Win32_System" + ], + "Win32_System_Rpc": [ + "Win32_System" + ], + "Win32_System_Search": [ + "Win32_System" + ], + "Win32_System_Search_Common": [ + "Win32_System_Search" + ], + "Win32_System_SecurityCenter": [ + "Win32_System" + ], + "Win32_System_Services": [ + "Win32_System" + ], + "Win32_System_SetupAndMigration": [ + "Win32_System" + ], + "Win32_System_Shutdown": [ + "Win32_System" + ], + "Win32_System_StationsAndDesktops": [ + "Win32_System" + ], + "Win32_System_SubsystemForLinux": [ + "Win32_System" + ], + "Win32_System_SystemInformation": [ + "Win32_System" + ], + "Win32_System_SystemServices": [ + "Win32_System" + ], + "Win32_System_Threading": [ + "Win32_System" + ], + "Win32_System_Time": [ + "Win32_System" + ], + "Win32_System_TpmBaseServices": [ + "Win32_System" + ], + "Win32_System_UserAccessLogging": [ + "Win32_System" + ], + "Win32_System_Variant": [ + "Win32_System" + ], + "Win32_System_VirtualDosMachines": [ + "Win32_System" + ], + "Win32_System_WindowsProgramming": [ + "Win32_System" + ], + "Win32_System_Wmi": [ + "Win32_System" + ], + "Win32_UI": [ + "Win32" + ], + "Win32_UI_Accessibility": [ + "Win32_UI" + ], + "Win32_UI_ColorSystem": [ + "Win32_UI" + ], + "Win32_UI_Controls": [ + "Win32_UI" + ], + "Win32_UI_Controls_Dialogs": [ + "Win32_UI_Controls" + ], + "Win32_UI_HiDpi": [ + "Win32_UI" + ], + "Win32_UI_Input": [ + "Win32_UI" + ], + "Win32_UI_Input_Ime": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_KeyboardAndMouse": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_Pointer": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_Touch": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_XboxController": [ + "Win32_UI_Input" + ], + "Win32_UI_InteractionContext": [ + "Win32_UI" + ], + "Win32_UI_Magnification": [ + "Win32_UI" + ], + "Win32_UI_Shell": [ + "Win32_UI" + ], + "Win32_UI_Shell_PropertiesSystem": [ + "Win32_UI_Shell" + ], + "Win32_UI_TabletPC": [ + "Win32_UI" + ], + "Win32_UI_TextServices": [ + "Win32_UI" + ], + "Win32_UI_WindowsAndMessaging": [ + "Win32_UI" + ], + "Win32_Web": [ + "Win32" + ], + "Win32_Web_InternetExplorer": [ + "Win32_Web" + ], + "default": [], + "docs": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-sys-0.52.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [ + "os::windows-apis" + ], + "keywords": [], + "readme": "readme.md", + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows-sys", + "version": "0.59.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.59.0", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Rust for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "windows-targets", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_sys", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-sys-0.59.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": false, + "test": false + } + ], + "features": { + "Wdk": [ + "Win32_Foundation" + ], + "Wdk_Devices": [ + "Wdk" + ], + "Wdk_Devices_Bluetooth": [ + "Wdk_Devices" + ], + "Wdk_Devices_HumanInterfaceDevice": [ + "Wdk_Devices" + ], + "Wdk_Foundation": [ + "Wdk" + ], + "Wdk_Graphics": [ + "Wdk" + ], + "Wdk_Graphics_Direct3D": [ + "Wdk_Graphics" + ], + "Wdk_NetworkManagement": [ + "Wdk" + ], + "Wdk_NetworkManagement_Ndis": [ + "Wdk_NetworkManagement" + ], + "Wdk_NetworkManagement_WindowsFilteringPlatform": [ + "Wdk_NetworkManagement" + ], + "Wdk_Storage": [ + "Wdk" + ], + "Wdk_Storage_FileSystem": [ + "Wdk_Storage" + ], + "Wdk_Storage_FileSystem_Minifilters": [ + "Wdk_Storage_FileSystem" + ], + "Wdk_System": [ + "Wdk" + ], + "Wdk_System_IO": [ + "Wdk_System" + ], + "Wdk_System_Memory": [ + "Wdk_System" + ], + "Wdk_System_OfflineRegistry": [ + "Wdk_System" + ], + "Wdk_System_Registry": [ + "Wdk_System" + ], + "Wdk_System_SystemInformation": [ + "Wdk_System" + ], + "Wdk_System_SystemServices": [ + "Wdk_System" + ], + "Wdk_System_Threading": [ + "Wdk_System" + ], + "Win32": [ + "Win32_Foundation" + ], + "Win32_Data": [ + "Win32" + ], + "Win32_Data_HtmlHelp": [ + "Win32_Data" + ], + "Win32_Data_RightsManagement": [ + "Win32_Data" + ], + "Win32_Devices": [ + "Win32" + ], + "Win32_Devices_AllJoyn": [ + "Win32_Devices" + ], + "Win32_Devices_BiometricFramework": [ + "Win32_Devices" + ], + "Win32_Devices_Bluetooth": [ + "Win32_Devices" + ], + "Win32_Devices_Communication": [ + "Win32_Devices" + ], + "Win32_Devices_DeviceAndDriverInstallation": [ + "Win32_Devices" + ], + "Win32_Devices_DeviceQuery": [ + "Win32_Devices" + ], + "Win32_Devices_Display": [ + "Win32_Devices" + ], + "Win32_Devices_Enumeration": [ + "Win32_Devices" + ], + "Win32_Devices_Enumeration_Pnp": [ + "Win32_Devices_Enumeration" + ], + "Win32_Devices_Fax": [ + "Win32_Devices" + ], + "Win32_Devices_HumanInterfaceDevice": [ + "Win32_Devices" + ], + "Win32_Devices_PortableDevices": [ + "Win32_Devices" + ], + "Win32_Devices_Properties": [ + "Win32_Devices" + ], + "Win32_Devices_Pwm": [ + "Win32_Devices" + ], + "Win32_Devices_Sensors": [ + "Win32_Devices" + ], + "Win32_Devices_SerialCommunication": [ + "Win32_Devices" + ], + "Win32_Devices_Tapi": [ + "Win32_Devices" + ], + "Win32_Devices_Usb": [ + "Win32_Devices" + ], + "Win32_Devices_WebServicesOnDevices": [ + "Win32_Devices" + ], + "Win32_Foundation": [ + "Win32" + ], + "Win32_Gaming": [ + "Win32" + ], + "Win32_Globalization": [ + "Win32" + ], + "Win32_Graphics": [ + "Win32" + ], + "Win32_Graphics_Dwm": [ + "Win32_Graphics" + ], + "Win32_Graphics_Gdi": [ + "Win32_Graphics" + ], + "Win32_Graphics_GdiPlus": [ + "Win32_Graphics" + ], + "Win32_Graphics_Hlsl": [ + "Win32_Graphics" + ], + "Win32_Graphics_OpenGL": [ + "Win32_Graphics" + ], + "Win32_Graphics_Printing": [ + "Win32_Graphics" + ], + "Win32_Graphics_Printing_PrintTicket": [ + "Win32_Graphics_Printing" + ], + "Win32_Management": [ + "Win32" + ], + "Win32_Management_MobileDeviceManagementRegistration": [ + "Win32_Management" + ], + "Win32_Media": [ + "Win32" + ], + "Win32_Media_Audio": [ + "Win32_Media" + ], + "Win32_Media_DxMediaObjects": [ + "Win32_Media" + ], + "Win32_Media_KernelStreaming": [ + "Win32_Media" + ], + "Win32_Media_Multimedia": [ + "Win32_Media" + ], + "Win32_Media_Streaming": [ + "Win32_Media" + ], + "Win32_Media_WindowsMediaFormat": [ + "Win32_Media" + ], + "Win32_NetworkManagement": [ + "Win32" + ], + "Win32_NetworkManagement_Dhcp": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Dns": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_InternetConnectionWizard": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_IpHelper": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Multicast": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Ndis": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetBios": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetManagement": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetShell": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_NetworkDiagnosticsFramework": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_P2P": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_QoS": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Rras": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_Snmp": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WNet": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WebDav": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WiFi": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsConnectionManager": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsFilteringPlatform": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsFirewall": [ + "Win32_NetworkManagement" + ], + "Win32_NetworkManagement_WindowsNetworkVirtualization": [ + "Win32_NetworkManagement" + ], + "Win32_Networking": [ + "Win32" + ], + "Win32_Networking_ActiveDirectory": [ + "Win32_Networking" + ], + "Win32_Networking_Clustering": [ + "Win32_Networking" + ], + "Win32_Networking_HttpServer": [ + "Win32_Networking" + ], + "Win32_Networking_Ldap": [ + "Win32_Networking" + ], + "Win32_Networking_WebSocket": [ + "Win32_Networking" + ], + "Win32_Networking_WinHttp": [ + "Win32_Networking" + ], + "Win32_Networking_WinInet": [ + "Win32_Networking" + ], + "Win32_Networking_WinSock": [ + "Win32_Networking" + ], + "Win32_Networking_WindowsWebServices": [ + "Win32_Networking" + ], + "Win32_Security": [ + "Win32" + ], + "Win32_Security_AppLocker": [ + "Win32_Security" + ], + "Win32_Security_Authentication": [ + "Win32_Security" + ], + "Win32_Security_Authentication_Identity": [ + "Win32_Security_Authentication" + ], + "Win32_Security_Authorization": [ + "Win32_Security" + ], + "Win32_Security_Credentials": [ + "Win32_Security" + ], + "Win32_Security_Cryptography": [ + "Win32_Security" + ], + "Win32_Security_Cryptography_Catalog": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_Certificates": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_Sip": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_Cryptography_UI": [ + "Win32_Security_Cryptography" + ], + "Win32_Security_DiagnosticDataQuery": [ + "Win32_Security" + ], + "Win32_Security_DirectoryServices": [ + "Win32_Security" + ], + "Win32_Security_EnterpriseData": [ + "Win32_Security" + ], + "Win32_Security_ExtensibleAuthenticationProtocol": [ + "Win32_Security" + ], + "Win32_Security_Isolation": [ + "Win32_Security" + ], + "Win32_Security_LicenseProtection": [ + "Win32_Security" + ], + "Win32_Security_NetworkAccessProtection": [ + "Win32_Security" + ], + "Win32_Security_WinTrust": [ + "Win32_Security" + ], + "Win32_Security_WinWlx": [ + "Win32_Security" + ], + "Win32_Storage": [ + "Win32" + ], + "Win32_Storage_Cabinets": [ + "Win32_Storage" + ], + "Win32_Storage_CloudFilters": [ + "Win32_Storage" + ], + "Win32_Storage_Compression": [ + "Win32_Storage" + ], + "Win32_Storage_DistributedFileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_FileHistory": [ + "Win32_Storage" + ], + "Win32_Storage_FileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_Imapi": [ + "Win32_Storage" + ], + "Win32_Storage_IndexServer": [ + "Win32_Storage" + ], + "Win32_Storage_InstallableFileSystems": [ + "Win32_Storage" + ], + "Win32_Storage_IscsiDisc": [ + "Win32_Storage" + ], + "Win32_Storage_Jet": [ + "Win32_Storage" + ], + "Win32_Storage_Nvme": [ + "Win32_Storage" + ], + "Win32_Storage_OfflineFiles": [ + "Win32_Storage" + ], + "Win32_Storage_OperationRecorder": [ + "Win32_Storage" + ], + "Win32_Storage_Packaging": [ + "Win32_Storage" + ], + "Win32_Storage_Packaging_Appx": [ + "Win32_Storage_Packaging" + ], + "Win32_Storage_ProjectedFileSystem": [ + "Win32_Storage" + ], + "Win32_Storage_StructuredStorage": [ + "Win32_Storage" + ], + "Win32_Storage_Vhd": [ + "Win32_Storage" + ], + "Win32_Storage_Xps": [ + "Win32_Storage" + ], + "Win32_System": [ + "Win32" + ], + "Win32_System_AddressBook": [ + "Win32_System" + ], + "Win32_System_Antimalware": [ + "Win32_System" + ], + "Win32_System_ApplicationInstallationAndServicing": [ + "Win32_System" + ], + "Win32_System_ApplicationVerifier": [ + "Win32_System" + ], + "Win32_System_ClrHosting": [ + "Win32_System" + ], + "Win32_System_Com": [ + "Win32_System" + ], + "Win32_System_Com_Marshal": [ + "Win32_System_Com" + ], + "Win32_System_Com_StructuredStorage": [ + "Win32_System_Com" + ], + "Win32_System_Com_Urlmon": [ + "Win32_System_Com" + ], + "Win32_System_ComponentServices": [ + "Win32_System" + ], + "Win32_System_Console": [ + "Win32_System" + ], + "Win32_System_CorrelationVector": [ + "Win32_System" + ], + "Win32_System_DataExchange": [ + "Win32_System" + ], + "Win32_System_DeploymentServices": [ + "Win32_System" + ], + "Win32_System_DeveloperLicensing": [ + "Win32_System" + ], + "Win32_System_Diagnostics": [ + "Win32_System" + ], + "Win32_System_Diagnostics_Ceip": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_Debug": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_Debug_Extensions": [ + "Win32_System_Diagnostics_Debug" + ], + "Win32_System_Diagnostics_Etw": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_ProcessSnapshotting": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_ToolHelp": [ + "Win32_System_Diagnostics" + ], + "Win32_System_Diagnostics_TraceLogging": [ + "Win32_System_Diagnostics" + ], + "Win32_System_DistributedTransactionCoordinator": [ + "Win32_System" + ], + "Win32_System_Environment": [ + "Win32_System" + ], + "Win32_System_ErrorReporting": [ + "Win32_System" + ], + "Win32_System_EventCollector": [ + "Win32_System" + ], + "Win32_System_EventLog": [ + "Win32_System" + ], + "Win32_System_EventNotificationService": [ + "Win32_System" + ], + "Win32_System_GroupPolicy": [ + "Win32_System" + ], + "Win32_System_HostCompute": [ + "Win32_System" + ], + "Win32_System_HostComputeNetwork": [ + "Win32_System" + ], + "Win32_System_HostComputeSystem": [ + "Win32_System" + ], + "Win32_System_Hypervisor": [ + "Win32_System" + ], + "Win32_System_IO": [ + "Win32_System" + ], + "Win32_System_Iis": [ + "Win32_System" + ], + "Win32_System_Ioctl": [ + "Win32_System" + ], + "Win32_System_JobObjects": [ + "Win32_System" + ], + "Win32_System_Js": [ + "Win32_System" + ], + "Win32_System_Kernel": [ + "Win32_System" + ], + "Win32_System_LibraryLoader": [ + "Win32_System" + ], + "Win32_System_Mailslots": [ + "Win32_System" + ], + "Win32_System_Mapi": [ + "Win32_System" + ], + "Win32_System_Memory": [ + "Win32_System" + ], + "Win32_System_Memory_NonVolatile": [ + "Win32_System_Memory" + ], + "Win32_System_MessageQueuing": [ + "Win32_System" + ], + "Win32_System_MixedReality": [ + "Win32_System" + ], + "Win32_System_Ole": [ + "Win32_System" + ], + "Win32_System_PasswordManagement": [ + "Win32_System" + ], + "Win32_System_Performance": [ + "Win32_System" + ], + "Win32_System_Performance_HardwareCounterProfiling": [ + "Win32_System_Performance" + ], + "Win32_System_Pipes": [ + "Win32_System" + ], + "Win32_System_Power": [ + "Win32_System" + ], + "Win32_System_ProcessStatus": [ + "Win32_System" + ], + "Win32_System_Recovery": [ + "Win32_System" + ], + "Win32_System_Registry": [ + "Win32_System" + ], + "Win32_System_RemoteDesktop": [ + "Win32_System" + ], + "Win32_System_RemoteManagement": [ + "Win32_System" + ], + "Win32_System_RestartManager": [ + "Win32_System" + ], + "Win32_System_Restore": [ + "Win32_System" + ], + "Win32_System_Rpc": [ + "Win32_System" + ], + "Win32_System_Search": [ + "Win32_System" + ], + "Win32_System_Search_Common": [ + "Win32_System_Search" + ], + "Win32_System_SecurityCenter": [ + "Win32_System" + ], + "Win32_System_Services": [ + "Win32_System" + ], + "Win32_System_SetupAndMigration": [ + "Win32_System" + ], + "Win32_System_Shutdown": [ + "Win32_System" + ], + "Win32_System_StationsAndDesktops": [ + "Win32_System" + ], + "Win32_System_SubsystemForLinux": [ + "Win32_System" + ], + "Win32_System_SystemInformation": [ + "Win32_System" + ], + "Win32_System_SystemServices": [ + "Win32_System" + ], + "Win32_System_Threading": [ + "Win32_System" + ], + "Win32_System_Time": [ + "Win32_System" + ], + "Win32_System_TpmBaseServices": [ + "Win32_System" + ], + "Win32_System_UserAccessLogging": [ + "Win32_System" + ], + "Win32_System_Variant": [ + "Win32_System" + ], + "Win32_System_VirtualDosMachines": [ + "Win32_System" + ], + "Win32_System_WindowsProgramming": [ + "Win32_System" + ], + "Win32_System_Wmi": [ + "Win32_System" + ], + "Win32_UI": [ + "Win32" + ], + "Win32_UI_Accessibility": [ + "Win32_UI" + ], + "Win32_UI_ColorSystem": [ + "Win32_UI" + ], + "Win32_UI_Controls": [ + "Win32_UI" + ], + "Win32_UI_Controls_Dialogs": [ + "Win32_UI_Controls" + ], + "Win32_UI_HiDpi": [ + "Win32_UI" + ], + "Win32_UI_Input": [ + "Win32_UI" + ], + "Win32_UI_Input_Ime": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_KeyboardAndMouse": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_Pointer": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_Touch": [ + "Win32_UI_Input" + ], + "Win32_UI_Input_XboxController": [ + "Win32_UI_Input" + ], + "Win32_UI_InteractionContext": [ + "Win32_UI" + ], + "Win32_UI_Magnification": [ + "Win32_UI" + ], + "Win32_UI_Shell": [ + "Win32_UI" + ], + "Win32_UI_Shell_Common": [ + "Win32_UI_Shell" + ], + "Win32_UI_Shell_PropertiesSystem": [ + "Win32_UI_Shell" + ], + "Win32_UI_TabletPC": [ + "Win32_UI" + ], + "Win32_UI_TextServices": [ + "Win32_UI" + ], + "Win32_UI_WindowsAndMessaging": [ + "Win32_UI" + ], + "Win32_Web": [ + "Win32" + ], + "Win32_Web_InternetExplorer": [ + "Win32_Web" + ], + "default": [], + "docs": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-sys-0.59.0/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true, + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [ + "os::windows-apis" + ], + "keywords": [], + "readme": "readme.md", + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.60" + }, + { + "name": "windows-targets", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import libs for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "windows_aarch64_gnullvm", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "aarch64-pc-windows-gnullvm", + "registry": null + }, + { + "name": "windows_x86_64_msvc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))", + "registry": null + }, + { + "name": "windows_aarch64_msvc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))", + "registry": null + }, + { + "name": "windows_i686_gnu", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))", + "registry": null + }, + { + "name": "windows_i686_msvc", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))", + "registry": null + }, + { + "name": "windows_x86_64_gnu", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))", + "registry": null + }, + { + "name": "windows_i686_gnullvm", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "i686-pc-windows-gnullvm", + "registry": null + }, + { + "name": "windows_x86_64_gnullvm", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.52.6", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "x86_64-pc-windows-gnullvm", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_targets", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-targets-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows-targets-0.52.6/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": "readme.md", + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_aarch64_gnullvm", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_gnullvm@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_aarch64_gnullvm", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_gnullvm-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_gnullvm-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_gnullvm-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_aarch64_msvc", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_msvc@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_aarch64_msvc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_msvc-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_msvc-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_aarch64_msvc-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_i686_gnu", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnu@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_i686_gnu", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnu-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnu-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnu-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_i686_gnullvm", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnullvm@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_i686_gnullvm", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnullvm-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnullvm-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_gnullvm-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_i686_msvc", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_msvc@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_i686_msvc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_msvc-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_msvc-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_i686_msvc-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_x86_64_gnu", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnu@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_x86_64_gnu", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnu-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnu-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnu-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_x86_64_gnullvm", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_x86_64_gnullvm", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnullvm-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnullvm-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_gnullvm-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "windows_x86_64_msvc", + "version": "0.52.6", + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_msvc@0.52.6", + "license": "MIT OR Apache-2.0", + "license_file": null, + "description": "Import lib for Windows", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "windows_x86_64_msvc", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_msvc-0.52.6/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "custom-build" + ], + "crate_types": [ + "bin" + ], + "name": "build-script-build", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_msvc-0.52.6/build.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/windows_x86_64_msvc-0.52.6/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "default-target": "x86_64-pc-windows-msvc", + "targets": [] + } + } + }, + "publish": null, + "authors": [ + "Microsoft" + ], + "categories": [], + "keywords": [], + "readme": null, + "repository": "https://github.com/microsoft/windows-rs", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.56" + }, + { + "name": "winnow", + "version": "0.6.20", + "id": "registry+https://github.com/rust-lang/crates.io-index#winnow@0.6.20", + "license": "MIT", + "license_file": null, + "description": "A byte-oriented, zero-copy, parser combinators library", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "anstream", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "anstyle", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "is-terminal", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.9", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "memchr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.5", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "terminal_size", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "annotate-snippets", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.11.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "anyhow", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.86", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "automod", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.14", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "circular", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "doc-comment", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "lexopt", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "proptest", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rustc-hash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.1.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "snapbox", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.6.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "examples" + ], + "target": null, + "registry": null + }, + { + "name": "term-transcript", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "winnow", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "arithmetic", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/arithmetic/main.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "css", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/css/main.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "custom_error", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/custom_error.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "http", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/http/main.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "ini", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/ini/main.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "iterator", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/iterator.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "json", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/json/main.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "json_iterator", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/json_iterator.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "ndjson", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/ndjson/main.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "s_expression", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/s_expression/main.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "string", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/string/main.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "arithmetic", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/arithmetic/bench.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "contains_token", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/benches/contains_token.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "find_slice", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/benches/find_slice.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "http", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/http/bench.rs", + "edition": "2021", + "required-features": [ + "alloc" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "ini", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/ini/bench.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "iter", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/benches/iter.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "json", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/examples/json/bench.rs", + "edition": "2021", + "required-features": [ + "std" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "next_slice", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/benches/next_slice.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "number", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/benches/number.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "alloc": [], + "debug": [ + "std", + "dep:anstream", + "dep:anstyle", + "dep:is-terminal", + "dep:terminal_size" + ], + "default": [ + "std" + ], + "simd": [ + "dep:memchr" + ], + "std": [ + "alloc", + "memchr?/std" + ], + "unstable-doc": [ + "alloc", + "std", + "simd", + "unstable-recover" + ], + "unstable-recover": [] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.20/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "cargo-args": [ + "-Zunstable-options", + "-Zrustdoc-scrape-examples" + ], + "features": [ + "unstable-doc" + ], + "rustdoc-args": [ + "--cfg", + "docsrs" + ] + } + }, + "release": { + "pre-release-replacements": [ + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{version}}", + "search": "Unreleased" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "...{{tag_name}}", + "search": "\\.\\.\\.HEAD" + }, + { + "file": "CHANGELOG.md", + "min": 1, + "replace": "{{date}}", + "search": "ReleaseDate" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n## [Unreleased] - ReleaseDate\n", + "search": "" + }, + { + "exactly": 1, + "file": "CHANGELOG.md", + "replace": "\n[Unreleased]: https://github.com/winnow-rs/winnow/compare/{{tag_name}}...HEAD", + "search": "" + }, + { + "exactly": 1, + "file": "src/lib.rs", + "replace": "blob/v{{version}}/CHANGELOG.md", + "search": "blob/v.+\\..+\\..+/CHANGELOG.md" + } + ] + } + }, + "publish": null, + "authors": [], + "categories": [ + "parsing" + ], + "keywords": [ + "parser", + "parser-combinators", + "parsing", + "streaming", + "bit" + ], + "readme": "README.md", + "repository": "https://github.com/winnow-rs/winnow", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.65.0" + }, + { + "name": "write16", + "version": "1.0.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#write16@1.0.0", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "A UTF-16 analog of the Write trait", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "arrayvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "smallvec", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.9.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "write16", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/write16-1.0.0/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "alloc": [], + "arrayvec": [ + "dep:arrayvec" + ], + "smallvec": [ + "dep:smallvec" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/write16-1.0.0/Cargo.toml", + "metadata": null, + "publish": null, + "authors": [], + "categories": [ + "text-processing", + "internationalization" + ], + "keywords": [ + "unicode", + "utf-16" + ], + "readme": "README.md", + "repository": "https://github.com/hsivonen/write16", + "homepage": "https://docs.rs/write16/", + "documentation": "https://docs.rs/write16/", + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "write_atomic", + "version": "0.5.1", + "id": "registry+https://github.com/rust-lang/crates.io-index#write_atomic@0.5.1", + "license": "WTFPL", + "license_file": null, + "description": "Write to files atomically.", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "tempfile", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^3.7.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "write_atomic", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/write_atomic-0.5.1/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/write_atomic-0.5.1/Cargo.toml", + "metadata": { + "bashman": { + "bash-dir": "./", + "credits-dir": "./", + "man-dir": "./", + "name": "write_atomic" + } + }, + "publish": null, + "authors": [ + "Blobfolio, LLC. " + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/Blobfolio/write_atomic", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.73" + }, + { + "name": "writeable", + "version": "0.5.5", + "id": "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "license": "Unicode-3.0", + "license_file": null, + "description": "A more efficient alternative to fmt::Display", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "either", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.9.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "small_rng" + ], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "writeable", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/writeable-0.5.5/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "writeable_message", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/writeable-0.5.5/examples/writeable_message.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "writeable", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/writeable-0.5.5/tests/writeable.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "writeable", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/writeable-0.5.5/benches/writeable.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [], + "either": [ + "dep:either" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/writeable-0.5.5/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ] + }, + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [], + "keywords": [], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "yoke", + "version": "0.7.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "license": "Unicode-3.0", + "license_file": null, + "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "stable_deref_trait", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "yoke-derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.7.4", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerofrom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.3", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "yoke", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-0.7.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "bincode", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-0.7.4/tests/bincode.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + }, + { + "kind": [ + "test" + ], + "crate_types": [ + "bin" + ], + "name": "miri", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-0.7.4/tests/miri.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": true + } + ], + "features": { + "alloc": [ + "stable_deref_trait/alloc", + "serde?/alloc", + "zerofrom/alloc" + ], + "default": [ + "alloc", + "zerofrom" + ], + "derive": [ + "dep:yoke-derive", + "zerofrom/derive" + ], + "serde": [ + "dep:serde" + ], + "zerofrom": [ + "dep:zerofrom" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-0.7.4/Cargo.toml", + "metadata": { + "cargo-all-features": { + "max_combination_size": 3 + }, + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "Manish Goregaokar " + ], + "categories": [ + "data-structures", + "memory-management", + "caching", + "no-std" + ], + "keywords": [ + "zerocopy", + "serialization", + "lifetime", + "borrow", + "self-referential" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "yoke-derive", + "version": "0.7.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.7.4", + "license": "Unicode-3.0", + "license_file": null, + "description": "Custom derive for the yoke crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.61", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.28", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.21", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "fold" + ], + "target": null, + "registry": null + }, + { + "name": "synstructure", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.13.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "yoke_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-derive-0.7.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "yoke_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-derive-0.7.4/examples/yoke_derive.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/yoke-derive-0.7.4/Cargo.toml", + "metadata": { + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "Manish Goregaokar " + ], + "categories": [ + "data-structures", + "memory-management", + "caching", + "no-std" + ], + "keywords": [ + "zerocopy", + "serialization", + "lifetime", + "borrow", + "self-referential" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "zerofrom", + "version": "0.1.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "license": "Unicode-3.0", + "license_file": null, + "description": "ZeroFrom trait for constructing", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "zerofrom-derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.3", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "zerofrom", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerofrom-0.1.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + } + ], + "features": { + "alloc": [], + "default": [ + "alloc" + ], + "derive": [ + "dep:zerofrom-derive" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerofrom-0.1.4/Cargo.toml", + "metadata": { + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "Manish Goregaokar " + ], + "categories": [ + "data-structures", + "caching", + "no-std" + ], + "keywords": [ + "zerocopy", + "serialization", + "lifetime", + "borrow" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "zerofrom-derive", + "version": "0.1.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.4", + "license": "Unicode-3.0", + "license_file": null, + "description": "Custom derive for the zerofrom crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.61", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.28", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.21", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "fold" + ], + "target": null, + "registry": null + }, + { + "name": "synstructure", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.13.0", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "zerofrom_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerofrom-derive-0.1.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "zf_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerofrom-derive-0.1.4/examples/zf_derive.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerofrom-derive-0.1.4/Cargo.toml", + "metadata": { + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "Manish Goregaokar " + ], + "categories": [ + "data-structures", + "memory-management", + "caching", + "no-std" + ], + "keywords": [ + "zerocopy", + "serialization", + "lifetime", + "borrow" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + }, + { + "name": "zerovec", + "version": "0.10.4", + "id": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "license": "Unicode-3.0", + "license_file": null, + "description": "Zero-copy vector backed by a byte array", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "databake", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.8", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [ + "alloc" + ], + "target": null, + "registry": null + }, + { + "name": "twox-hash", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.4.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "yoke", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": ">=0.6.0, <0.8.0", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerofrom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.3", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "zerovec-derive", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.10.2", + "kind": null, + "rename": null, + "optional": true, + "uses_default_features": false, + "features": [], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "getrandom", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.2", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "js" + ], + "target": null, + "registry": null + }, + { + "name": "iai", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.1.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "postcard", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "use-std" + ], + "target": null, + "registry": null + }, + { + "name": "rand", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.8", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand_distr", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.4", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rand_pcg", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.3", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "rmp-serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.2.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "criterion", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^0.5.0", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": "cfg(not(target_arch = \"wasm32\"))", + "registry": null + } + ], + "targets": [ + { + "kind": [ + "lib" + ], + "crate_types": [ + "lib" + ], + "name": "zerovec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "zv_serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/examples/zv_serde.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "vzv", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/benches/vzv.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "zeromap", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/benches/zeromap.rs", + "edition": "2021", + "required-features": [ + "serde", + "hashmap", + "derive" + ], + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "zerovec", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/benches/zerovec.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "zerovec_iai", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/benches/zerovec_iai.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "bench" + ], + "crate_types": [ + "bin" + ], + "name": "zerovec_serde", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/benches/zerovec_serde.rs", + "edition": "2021", + "required-features": [ + "serde" + ], + "doc": false, + "doctest": false, + "test": false + } + ], + "features": { + "bench": [ + "serde", + "databake" + ], + "databake": [ + "dep:databake" + ], + "derive": [ + "dep:zerovec-derive" + ], + "hashmap": [ + "dep:twox-hash" + ], + "serde": [ + "dep:serde" + ], + "std": [], + "yoke": [ + "dep:yoke" + ] + }, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-0.10.4/Cargo.toml", + "metadata": { + "cargo-all-features": { + "denylist": [ + "bench" + ], + "max_combination_size": 3 + }, + "docs": { + "rs": { + "all-features": true + } + }, + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "The ICU4X Project Developers" + ], + "categories": [ + "rust-patterns", + "memory-management", + "caching", + "no-std", + "data-structures" + ], + "keywords": [ + "zerocopy", + "serialization", + "zero-copy", + "serde" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": "1.67" + }, + { + "name": "zerovec-derive", + "version": "0.10.3", + "id": "registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.10.3", + "license": "Unicode-3.0", + "license_file": null, + "description": "Custom derive for the zerovec crate", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { + "name": "proc-macro2", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.61", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "quote", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.28", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "syn", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^2.0.21", + "kind": null, + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [ + "extra-traits" + ], + "target": null, + "registry": null + }, + { + "name": "bincode", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.3.1", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + }, + { + "name": "serde", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.110", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": false, + "features": [ + "derive" + ], + "target": null, + "registry": null + }, + { + "name": "serde_json", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "req": "^1.0.45", + "kind": "dev", + "rename": null, + "optional": false, + "uses_default_features": true, + "features": [], + "target": null, + "registry": null + } + ], + "targets": [ + { + "kind": [ + "proc-macro" + ], + "crate_types": [ + "proc-macro" + ], + "name": "zerovec_derive", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-derive-0.10.3/src/lib.rs", + "edition": "2021", + "doc": true, + "doctest": true, + "test": true + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "derives", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-derive-0.10.3/examples/derives.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "make", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-derive-0.10.3/examples/make.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + }, + { + "kind": [ + "example" + ], + "crate_types": [ + "bin" + ], + "name": "make_var", + "src_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-derive-0.10.3/examples/make_var.rs", + "edition": "2021", + "doc": false, + "doctest": false, + "test": false + } + ], + "features": {}, + "manifest_path": "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/zerovec-derive-0.10.3/Cargo.toml", + "metadata": { + "workspaces": { + "independent": true + } + }, + "publish": null, + "authors": [ + "Manish Goregaokar " + ], + "categories": [ + "rust-patterns", + "memory-management", + "caching", + "no-std", + "data-structures" + ], + "keywords": [ + "zerocopy", + "serialization", + "zero-copy", + "serde" + ], + "readme": "README.md", + "repository": "https://github.com/unicode-org/icu4x", + "homepage": null, + "documentation": null, + "edition": "2021", + "links": null, + "default_run": null, + "rust_version": null + } + ], + "workspace_members": [ + "path+file:///share#cargo-bashman@0.6.0" + ], + "workspace_default_members": [ + "path+file:///share#cargo-bashman@0.6.0" + ], + "resolve": { + "nodes": [ + { + "id": "registry+https://github.com/rust-lang/crates.io-index#adbyss_psl@0.14.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#idna@1.0.2", + "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1" + ], + "deps": [ + { + "name": "idna", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#idna@1.0.2", + "dep_kinds": [ + { + "kind": null, + "target": null + }, + { + "kind": "build", + "target": null + } + ] + }, + { + "name": "serde_json", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "dep_kinds": [ + { + "kind": "build", + "target": null + } + ] + }, + { + "name": "trimothy", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#argyle@0.10.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.6.0", + "dependencies": [], + "deps": [], + "features": [ + "std" + ] + }, + { + "id": "path+file:///share#cargo-bashman@0.6.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#adbyss_psl@0.14.0", + "registry+https://github.com/rust-lang/crates.io-index#argyle@0.10.0", + "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4", + "registry+https://github.com/rust-lang/crates.io-index#fyi_msg@1.1.1", + "registry+https://github.com/rust-lang/crates.io-index#libdeflater@1.22.0", + "registry+https://github.com/rust-lang/crates.io-index#oxford_join@0.4.0", + "registry+https://github.com/rust-lang/crates.io-index#semver@1.0.23", + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "registry+https://github.com/rust-lang/crates.io-index#toml@0.8.19", + "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1", + "registry+https://github.com/rust-lang/crates.io-index#url@2.5.2", + "registry+https://github.com/rust-lang/crates.io-index#utc2k@0.11.0", + "registry+https://github.com/rust-lang/crates.io-index#write_atomic@0.5.1" + ], + "deps": [ + { + "name": "adbyss_psl", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#adbyss_psl@0.14.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "argyle", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#argyle@0.10.0", + "dep_kinds": [ + { + "kind": null, + "target": null + }, + { + "kind": "build", + "target": null + } + ] + }, + { + "name": "dactyl", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "fyi_msg", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#fyi_msg@1.1.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "libdeflater", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#libdeflater@1.22.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "oxford_join", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#oxford_join@0.4.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "semver", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#semver@1.0.23", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde_json", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "toml", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#toml@0.8.19", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "trimothy", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "url", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#url@2.5.2", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "utc2k", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#utc2k@0.11.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "write_atomic", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#write_atomic@0.5.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#cc@1.1.31", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#shlex@1.3.0" + ], + "deps": [ + { + "name": "shlex", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#shlex@1.3.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.1", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.9", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0" + ], + "deps": [ + { + "name": "libc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(unix)" + }, + { + "kind": null, + "target": "cfg(target_os = \"hermit\")" + }, + { + "kind": null, + "target": "cfg(target_os = \"wasi\")" + } + ] + }, + { + "name": "windows_sys", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(windows)" + } + ] + } + ], + "features": [ + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#fastrand@2.1.1", + "dependencies": [], + "deps": [], + "features": [ + "alloc", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.1", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1" + ], + "deps": [ + { + "name": "percent_encoding", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#fyi_msg@1.1.1", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4" + ], + "deps": [ + { + "name": "dactyl", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#dactyl@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.15.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "yoke", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerofrom", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#litemap@0.7.3", + "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "litemap", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#litemap@0.7.3", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "tinystr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "writeable", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "zerovec" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform_data@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_locid", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_locid_transform_data", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform_data@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_provider", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "tinystr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "compiled_data" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform_data@1.5.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "registry+https://github.com/rust-lang/crates.io-index#utf16_iter@1.0.5", + "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4", + "registry+https://github.com/rust-lang/crates.io-index#write16@1.0.0", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_collections", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_normalizer_data", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_properties", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_provider", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "smallvec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "utf16_iter", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#utf16_iter@1.0.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "utf8_iter", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "write16", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#write16@1.0.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "compiled_data", + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer_data@1.5.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_collections", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_collections@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_locid_transform", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_locid_transform@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_properties_data", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_provider", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "tinystr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "compiled_data", + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_properties_data@1.5.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_provider@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_provider_macros@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_locid", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_locid@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_provider_macros", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_provider_macros@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "stable_deref_trait", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "tinystr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "writeable", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "yoke", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerofrom", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "macros" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#icu_provider_macros@1.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#idna@0.5.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.17", + "registry+https://github.com/rust-lang/crates.io-index#unicode-normalization@0.1.24" + ], + "deps": [ + { + "name": "unicode_bidi", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.17", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "unicode_normalization", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#unicode-normalization@0.1.24", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#idna@1.0.2", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@1.5.0", + "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4" + ], + "deps": [ + { + "name": "icu_normalizer", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_normalizer@1.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "icu_properties", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#icu_properties@1.5.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "smallvec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "utf8_iter", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "compiled_data", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.1", + "registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.15.0" + ], + "deps": [ + { + "name": "equivalent", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "hashbrown", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.15.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.11", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "dependencies": [], + "deps": [], + "features": [ + "extra_traits", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#libdeflate-sys@1.22.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#cc@1.1.31" + ], + "deps": [ + { + "name": "cc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#cc@1.1.31", + "dep_kinds": [ + { + "kind": "build", + "target": null + } + ] + } + ], + "features": [ + "freestanding" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#libdeflater@1.22.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#libdeflate-sys@1.22.0" + ], + "deps": [ + { + "name": "libdeflate_sys", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#libdeflate-sys@1.22.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "freestanding", + "use_rust_alloc" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.4.14", + "dependencies": [], + "deps": [], + "features": [ + "elf", + "errno", + "general", + "ioctl", + "no_std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#litemap@0.7.3", + "dependencies": [], + "deps": [], + "features": [ + "alloc" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4", + "dependencies": [], + "deps": [], + "features": [ + "alloc", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.20.2", + "dependencies": [], + "deps": [], + "features": [ + "alloc", + "race", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#oxford_join@0.4.0", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1", + "dependencies": [], + "deps": [], + "features": [ + "alloc", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13" + ], + "deps": [ + { + "name": "unicode_ident", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "proc-macro" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "proc-macro" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#rustix@0.38.38", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.6.0", + "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.9", + "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.4.14", + "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0" + ], + "deps": [ + { + "name": "bitflags", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.6.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "libc_errno", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.9", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))" + }, + { + "kind": null, + "target": "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))" + }, + { + "kind": null, + "target": "cfg(windows)" + } + ] + }, + { + "name": "libc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.161", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))" + }, + { + "kind": null, + "target": "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))" + } + ] + }, + { + "name": "linux_raw_sys", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.4.14", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))" + }, + { + "kind": null, + "target": "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))" + } + ] + }, + { + "name": "windows_sys", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(windows)" + } + ] + } + ], + "features": [ + "alloc", + "default", + "fs", + "libc-extra-traits", + "std", + "use-libc-auxv" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.18", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#semver@1.0.23", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214" + ], + "deps": [ + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "serde", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.214" + ], + "deps": [ + { + "name": "serde_derive", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + }, + { + "kind": null, + "target": "cfg(any())" + } + ] + } + ], + "features": [ + "alloc", + "default", + "derive", + "serde_derive", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.214", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.132", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.11", + "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4", + "registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.18", + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214" + ], + "deps": [ + { + "name": "itoa", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.11", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "memchr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "ryu", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#ryu@1.0.18", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214" + ], + "deps": [ + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "serde" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#shlex@1.3.0", + "dependencies": [], + "deps": [], + "features": [ + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.13.2", + "dependencies": [], + "deps": [], + "features": [ + "const_generics" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "dependencies": [], + "deps": [], + "features": [ + "alloc" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "unicode_ident", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "clone-impls", + "default", + "derive", + "extra-traits", + "fold", + "parsing", + "printing", + "proc-macro", + "visit" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "proc-macro" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.13.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.0", + "registry+https://github.com/rust-lang/crates.io-index#fastrand@2.1.1", + "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.20.2", + "registry+https://github.com/rust-lang/crates.io-index#rustix@0.38.38", + "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.59.0" + ], + "deps": [ + { + "name": "cfg_if", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "fastrand", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#fastrand@2.1.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "once_cell", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.20.2", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "rustix", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#rustix@0.38.38", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(any(unix, target_os = \"wasi\"))" + } + ] + }, + { + "name": "windows_sys", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.59.0", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(windows)" + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tinystr@0.7.6", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4" + ], + "deps": [ + { + "name": "displaydoc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#displaydoc@0.2.5", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "zerovec" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.8.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1" + ], + "deps": [ + { + "name": "tinyvec_macros", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "default", + "tinyvec_macros" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tinyvec_macros@0.1.1", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#toml@0.8.19", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.22.22" + ], + "deps": [ + { + "name": "indexmap", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde_spanned", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "toml_datetime", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "toml_edit", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.22.22", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "display", + "indexmap", + "parse", + "preserve_order" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214" + ], + "deps": [ + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "serde" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#toml_edit@0.22.22", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "registry+https://github.com/rust-lang/crates.io-index#winnow@0.6.20" + ], + "deps": [ + { + "name": "indexmap", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#indexmap@2.6.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde_spanned", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_spanned@0.6.8", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "toml_datetime", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#toml_datetime@0.6.8", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "winnow", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#winnow@0.6.20", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "display", + "parse", + "serde" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#trimothy@0.3.1", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-bidi@0.3.17", + "dependencies": [], + "deps": [], + "features": [ + "hardcoded-data", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.13", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#unicode-normalization@0.1.24", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.8.0" + ], + "deps": [ + { + "name": "tinyvec", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tinyvec@1.8.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#url@2.5.2", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.1", + "registry+https://github.com/rust-lang/crates.io-index#idna@0.5.0", + "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1", + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214" + ], + "deps": [ + { + "name": "form_urlencoded", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#form_urlencoded@1.2.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "idna", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#idna@0.5.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "percent_encoding", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "default", + "serde" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#utc2k@0.11.0", + "dependencies": [], + "deps": [], + "features": [ + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#utf16_iter@1.0.5", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#utf8_iter@1.0.4", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6" + ], + "deps": [ + { + "name": "windows_targets", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "Win32", + "Win32_Foundation", + "Win32_NetworkManagement", + "Win32_NetworkManagement_IpHelper", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_System", + "Win32_System_Diagnostics", + "Win32_System_Diagnostics_Debug", + "Win32_System_Threading", + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.59.0", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6" + ], + "deps": [ + { + "name": "windows_targets", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "Win32", + "Win32_Foundation", + "Win32_Storage", + "Win32_Storage_FileSystem", + "default" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows-targets@0.52.6", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_gnullvm@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_msvc@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnu@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnullvm@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_i686_msvc@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnu@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6", + "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_msvc@0.52.6" + ], + "deps": [ + { + "name": "windows_aarch64_gnullvm", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_gnullvm@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "aarch64-pc-windows-gnullvm" + } + ] + }, + { + "name": "windows_aarch64_msvc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_msvc@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))" + } + ] + }, + { + "name": "windows_i686_gnu", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnu@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))" + } + ] + }, + { + "name": "windows_i686_gnullvm", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnullvm@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "i686-pc-windows-gnullvm" + } + ] + }, + { + "name": "windows_i686_msvc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_msvc@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))" + } + ] + }, + { + "name": "windows_x86_64_gnu", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnu@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))" + } + ] + }, + { + "name": "windows_x86_64_gnullvm", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "x86_64-pc-windows-gnullvm" + } + ] + }, + { + "name": "windows_x86_64_msvc", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_msvc@0.52.6", + "dep_kinds": [ + { + "kind": null, + "target": "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))" + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_gnullvm@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_aarch64_msvc@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnu@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_gnullvm@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_i686_msvc@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnu@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_gnullvm@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#windows_x86_64_msvc@0.52.6", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#winnow@0.6.20", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4" + ], + "deps": [ + { + "name": "memchr", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#memchr@2.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "default", + "std" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#write16@1.0.0", + "dependencies": [], + "deps": [], + "features": [ + "alloc" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#write_atomic@0.5.1", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.13.0" + ], + "deps": [ + { + "name": "tempfile", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.13.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#writeable@0.5.5", + "dependencies": [], + "deps": [], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.7.4", + "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4" + ], + "deps": [ + { + "name": "serde", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.214", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "stable_deref_trait", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#stable_deref_trait@1.2.0", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "yoke_derive", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerofrom", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "default", + "derive", + "zerofrom" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#yoke-derive@0.7.4", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "synstructure", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.4" + ], + "deps": [ + { + "name": "zerofrom_derive", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "alloc", + "derive" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#zerofrom-derive@0.1.4", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "synstructure", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#synstructure@0.13.1", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#zerovec@0.10.4", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.10.3" + ], + "deps": [ + { + "name": "yoke", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#yoke@0.7.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerofrom", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerofrom@0.1.4", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "zerovec_derive", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.10.3", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [ + "derive", + "yoke" + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#zerovec-derive@0.10.3", + "dependencies": [ + "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85" + ], + "deps": [ + { + "name": "proc_macro2", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.89", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "quote", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.37", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + }, + { + "name": "syn", + "pkg": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.85", + "dep_kinds": [ + { + "kind": null, + "target": null + } + ] + } + ], + "features": [] + } + ], + "root": "path+file:///share#cargo-bashman@0.6.0" + }, + "target_directory": "/share/target", + "version": 1, + "workspace_root": "/share", + "metadata": null +} diff --git a/src/credits.rs b/src/credits.rs index cc948f7..5196e63 100644 --- a/src/credits.rs +++ b/src/credits.rs @@ -2,49 +2,23 @@ # Cargo BashMan: Crate Credits. */ -use adbyss_psl::Domain; -use cargo_metadata::{ - CargoOpt, - DependencyKind, - DepKindInfo, - Metadata, - MetadataCommand, - Node, - NodeDep, - Package, - PackageId, -}; use crate::{ BashManError, + Dependency, Manifest, -}; -use oxford_join::{ - OxfordJoin, - OxfordJoinFmt, + TargetTriple, }; use std::{ - cmp::Ordering, fmt, - collections::{ - BTreeSet, - HashMap, - HashSet, - }, path::{ Path, PathBuf, }, }; -use trimothy::TrimMut; use utc2k::Utc2k; -/// # Table Header. -const HEADER: &str = "| Package | Version | Author(s) | License | Context |\n| ---- | ---- | ---- | ---- | ---- |\n"; - - - /// # Crate Credits. /// /// This struct is used to write the crate credits to a markdown file. @@ -66,6 +40,9 @@ pub(super) struct CreditsWriter<'a> { /// # Package Version. version: &'a str, + /// # Target. + target: Option, + /// # Dependencies. dependencies: Vec, } @@ -75,63 +52,74 @@ impl<'a> fmt::Display for CreditsWriter<'a> { /// /// This method writes a markdown table entry for the dependency. fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - writeln!( - f, - "# Project Dependencies + // With target. + if let Some(target) = self.target { + writeln!( + f, + "# Project Dependencies + Package: {} + Version: {} + Target: {target} + Generated: {} UTC +", + self.name, + self.version, + Utc2k::now(), + )?; + } + // Without target. + else { + writeln!( + f, + "# Project Dependencies Package: {} Version: {} Generated: {} UTC ", - self.name, - self.version, - Utc2k::now(), - )?; + self.name, + self.version, + Utc2k::now(), + )?; + } // There may not be any dependencies. - if self.dependencies.is_empty() { + let deps = self.dependencies.as_slice(); + if deps.is_empty() { return f.write_str("This project has no dependencies.\n"); } - f.write_str(HEADER)?; - for dep in &self.dependencies { ::fmt(dep, f)?; } + // Some dependencies are context dependent; some work is required. + if deps.iter().any(Dependency::conditional) { + f.write_str("| Package | Version | Author(s) | License | Context |\n| ---- | ---- | ---- | ---- | ---- |\n")?; + + // Required first. + for dep in deps { + if ! dep.conditional() { writeln!(f, "{dep} |")?; } + } + // Now the specific ones. + for dep in deps { + if dep.conditional() { writeln!(f, "{dep} {} |", dep.context())?; } + } + } + // Everything is needed all the time! + else { + f.write_str("| Package | Version | Author(s) | License |\n| ---- | ---- | ---- | ---- |\n")?; + for dep in deps { writeln!(f, "{dep}")?; } + } Ok(()) } } -impl<'a> TryFrom<&'a Manifest> for CreditsWriter<'a> { - type Error = BashManError; - - fn try_from(man: &'a Manifest) -> Result { +impl<'a> CreditsWriter<'a> { + /// # New Instance. + pub(super) fn new(man: &'a Manifest, target: Option) + -> Result { let src = man.src(); let dst = man.dir_credits()?.join("CREDITS.md"); let cmd = man.main_cmd().ok_or(BashManError::Credits)?; let name = cmd.bin(); - - // Fetch the dependencies with all features enabled, but if that - // doesn't work, try again with just the defaults. - let mut dependencies: Vec = get_dependencies(src, Some(CargoOpt::AllFeatures)) - .or_else(|_| get_dependencies(src, None))? - .into_iter() - .collect(); - - // Remove ourselves if included. - if let Some(pos) = dependencies.iter().position(|d| d.name == name) { - dependencies.remove(pos); - } - - // There doesn't seem to be an easy way tell whether or not a given - // dependency is feature-dependent, so let's repeat the process with - // all features disabled to compare and contrast. - if ! dependencies.is_empty() { - if let Ok(required) = get_dependencies(src, Some(CargoOpt::NoDefaultFeatures)) { - for dep in &mut dependencies { - if ! required.contains(dep) { - dep.flags |= Dependency::FLAG_OPTIONAL; - } - } - } - } + let dependencies = man.dependencies(target)?; // Done! Ok(Self { @@ -139,12 +127,11 @@ impl<'a> TryFrom<&'a Manifest> for CreditsWriter<'a> { dst, name, version: cmd.version(), + target, dependencies, }) } -} -impl<'a> CreditsWriter<'a> { /// # Write Credits! /// /// This method is called by `main.rs` to generate and save the crate @@ -167,363 +154,3 @@ impl<'a> CreditsWriter<'a> { .map(|()| self.dst) } } - - - - -#[derive(Debug)] -/// # Dependency. -struct Dependency { - /// # Name. - name: String, - - /// # Version. - version: String, - - /// # Author(s). - authors: Vec, - - /// # License. - license: String, - - /// # URL. - link: Option, - - /// # Flags. - flags: u8, -} - -impl Eq for Dependency {} - -impl fmt::Display for Dependency { - /// # Write Credits! - /// - /// This method writes a markdown table entry for the dependency. - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - if let Some(link) = self.link.as_deref() { - writeln!( - f, - "| [{}]({}) | {} | {} | {} | {} |", - self.name, - link, - self.version, - OxfordJoinFmt::and(self.authors.as_slice()), - self.license, - self.context(), - ) - } - else { - writeln!( - f, - "| {} | {} | {} | {} | {} |", - self.name, - self.version, - OxfordJoinFmt::and(self.authors.as_slice()), - self.license, - self.context(), - ) - } - } -} - -impl From for Dependency { - fn from(mut src: Package) -> Self { - strip_markdown(&mut src.name); - let mut version = src.version.to_string(); - strip_markdown(&mut version); - nice_authors(&mut src.authors); - - Self { - name: src.name, - version, - authors: src.authors, - license: src.license.map_or_else(String::new, |l| nice_license(&l)), - link: src.repository, - flags: 0, - } - } -} - -impl Ord for Dependency { - #[inline] - fn cmp(&self, other: &Self) -> Ordering { self.name.cmp(&other.name) } -} - -impl PartialEq for Dependency { - #[inline] - fn eq(&self, other: &Self) -> bool { self.name == other.name } -} - -impl PartialOrd for Dependency { - #[inline] - fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } -} - -impl Dependency { - /// # Flag: Optional. - const FLAG_OPTIONAL: u8 = 0b0001; - - /// # Flag: Used at Runtime. - const FLAG_RUNTIME: u8 = 0b0010; - - /// # Flag: Used at Build. - const FLAG_BUILD: u8 = 0b0100; - - /// # Flag: Runtime and Build. - const FLAG_KINDS: u8 = Self::FLAG_BUILD | Self::FLAG_RUNTIME; - - /// # Context. - const fn context(&self) -> &'static str { - let optional = Self::FLAG_OPTIONAL == self.flags & Self::FLAG_OPTIONAL; - let build = Self::FLAG_BUILD == self.flags & Self::FLAG_KINDS; - match (optional, build) { - (true, true) => "optional, build", - (true, false) => "optional", - (false, true) => "build", - (false, false) => "", - } - } -} - - - -/// # Get Dependencies. -/// -/// Fetch, parse, and filter the dependencies. -fn get_dependencies(src: &Path, features: Option) -> Result, BashManError> { - let mut cmd = MetadataCommand::new(); - cmd.manifest_path(src); - if let Some(features) = features { cmd.features(features); } - let metadata = cmd.exec().map_err(|_| BashManError::Credits)?; - - parse_dependencies(metadata) -} - -/// # Normalize Authors. -fn nice_authors(raw: &mut Vec) { - for x in raw.iter_mut() { - x.retain(|c| ! matches!(c, '[' | ']' | '(' | ')' | '|')); - x.trim_mut(); - - // Reformat author line as markdown. - let bytes = x.as_bytes(); - if let Some(start) = bytes.iter().position(|b| b'<'.eq(b)) { - if let Some(end) = bytes.iter().rposition(|b| b'>'.eq(b)).filter(|p| start.lt(p)) { - match (nice_name(x[..start].trim()), nice_email(&x[start + 1..end])) { - // [Name](mailto:email) - (Some(n), Some(e)) => { - x.truncate(0); - x.push('['); - x.push_str(&n); - x.push_str("](mailto:"); - x.push_str(&e); - x.push(')'); - }, - // Name - (Some(mut n), None) => { std::mem::swap(x, &mut n); }, - // [email](mailto:email) - (None, Some(e)) => { - x.truncate(0); - x.push('['); - x.push_str(&e); - x.push_str("](mailto:"); - x.push_str(&e); - x.push(')'); - }, - // Empty. - (None, None) => { x.truncate(0); } - } - } - // Get rid of the brackets; they weren't used correctly. - else { - x.retain(|c| ! matches!(c, '<' | '>')); - x.trim_mut(); - } - } - // There weren't any opening <, but there might be closing > we should - // remove. - else { - x.retain(|c| c != '>'); - x.trim_mut(); - } - } - - // One final thing: remove empties. - raw.retain(|x| ! x.is_empty()); -} - -/// # Validate email. -/// -/// It's unclear if the Cargo author metadata is pre-sanitized. Just in case, -/// this method performs semi-informed validation against suspected email -/// addresses, making sure the user portion is lowercase alphanumeric (with `.`, -/// `+`, `-`, and `_` allowed), and the host is ASCII with a valid public -/// suffix. (The host domain itself may or may not exist, but that's fine.) -/// -/// If any of the above conditions fail, `None` is returned, otherwise a fresh -/// owned `String` is returned. -fn nice_email(raw: &str) -> Option { - let (user, host) = raw.trim_matches(|c: char| c.is_whitespace() || c == '<' || c == '>') - .split_once('@')?; - - // We need both parts. - if user.is_empty() || host.is_empty() { return None; } - - // Make sure the host is parseable. - let host = Domain::new(host)?; - - // Let's start with the user. - let mut out = String::with_capacity(user.len() + host.len() + 1); - for c in user.chars() { - match c { - 'a'..='z' | '0'..='9' | '.' | '+' | '-' | '_' => { out.push(c); }, - 'A'..='Z' => out.push(c.to_ascii_lowercase()), - _ => return None, - } - } - - // Add the @ and host. - out.push('@'); - out.push_str(host.as_str()); - - Some(out) -} - -/// # Normalize Licenses. -fn nice_license(raw: &str) -> String { - let mut raw = raw.replace(" OR ", "/"); - raw.retain(|c| ! matches!(c, '[' | ']' | '<' | '>' | '(' | ')' | '|')); - - let mut list: Vec<&str> = raw.split('/') - .filter_map(|line| { - let line = line.trim(); - if line.is_empty() { None } - else { Some(line) } - }) - .collect(); - list.sort_unstable(); - list.dedup(); - list.oxford_or().into_owned() -} - -/// # Nice Name. -/// -/// This performs some light cleaning and trimming and returns the result if it -/// is non-empty. -fn nice_name(raw: &str) -> Option { - // The name is unlikely to have < or >, but they should be stripped out if - // present. - let mut out: String = raw - .chars() - .filter(|c| '<'.ne(c) && '>'.ne(c)) - .collect(); - - out.trim_mut(); - if out.is_empty() { None } - else { Some(out) } -} - -/// # Parse Dependencies. -/// -/// Traverse the root crate's dependencies and return them in a much simpler -/// form than the one provided by `cargo_metadata`. -fn parse_dependencies(metadata: Metadata) -> Result, BashManError> { - // Parse out all of the package IDs in the dependency tree, excluding dev- - // and build-deps. - let resolve = metadata.resolve.as_ref().ok_or(BashManError::Credits)?; - - // Pull dependencies by package. - let raw: HashMap<&PackageId, &[NodeDep]> = resolve.nodes.iter() - .map(|Node { id, deps, .. }| (id, deps.as_slice())) - .collect(); - - // Classify each dependency. - let mut flags = HashMap::<&PackageId, u8>::with_capacity(raw.len()); - for NodeDep { pkg, dep_kinds, .. } in raw.values().copied().flatten() { - let mut f = 0; - for DepKindInfo { kind, target, .. } in dep_kinds { - if target.is_none() { - f |= match kind { - DependencyKind::Normal => Dependency::FLAG_RUNTIME, - DependencyKind::Build => Dependency::FLAG_BUILD, - _ => 0, - }; - } - } - *(flags.entry(pkg).or_insert(0)) |= f; - } - - // Build a list of all unique, normal dependencies. - let mut deps: HashSet<&PackageId> = HashSet::new(); - let mut stack: Vec<_> = resolve.root.as_ref() - .map_or_else( - || metadata.workspace_members.iter().collect(), - |root| vec![root] - ); - - - // Drain and repopulate the queue until we've reached the end. - while let Some(package_id) = stack.pop() { - if deps.insert(package_id) { - if let Some(d) = raw.get(package_id).copied() { - for NodeDep { pkg, .. } in d { - if flags.get(pkg).map_or(false, |&f| 0 != f & Dependency::FLAG_KINDS) { - stack.push(pkg); - } - } - } - } - } - - // Boil down the "found" dependencies into a structure we can use. - Ok( - metadata.packages.into_iter() - .filter_map(|p| - if deps.contains(&p.id) { - let f = flags.get(&p.id).copied().unwrap_or(0); - let mut d = Dependency::from(p); - d.flags = f; - Some(d) - } - else { None } - ) - .collect() - ) -} - -/// # Lightly Sanitize. -/// -/// Remove `[] <> () |` to help with later markdown display. -fn strip_markdown(raw: &mut String) { - raw.retain(|c| ! matches!(c, '[' | ']' | '<' | '>' | '(' | ')' | '|')); - raw.trim_mut(); -} - - - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn t_strip_markdown() { - let mut raw: String = " H(E)L[L]O O|RLD |".to_owned(); - strip_markdown(&mut raw); - assert_eq!(raw, "HELLO WORLD"); - } - - #[test] - fn t_nice_email() { - assert_eq!( - nice_email(" < JoSh@BloBfolio.com> "), - Some("josh@blobfolio.com".to_owned()) - ); - - assert_eq!(nice_email(" < JoSh@BloBfolio.x> "), None); - - assert_eq!( - nice_email("USER@♥.com"), - Some("user@xn--g6h.com".to_owned()) - ); - } -} diff --git a/src/err.rs b/src/err.rs index dd14a58..4bae722 100644 --- a/src/err.rs +++ b/src/err.rs @@ -2,7 +2,10 @@ # Cargo BashMan: Errors. */ -use crate::KeyWord; +use crate::{ + KeyWord, + TargetTriple, +}; use std::fmt; @@ -32,10 +35,15 @@ FLAGS: --no-bash Do not generate BASH completions. --no-credits Do not generate CREDITS.md. --no-man Do not generate MAN page(s). + --print-targets Print the supported target triples (for use + with -t/--target) to STDOUT and exit. -V, --version Prints version information. OPTIONS: -m, --manifest-path Read file paths from this list. + -t, --target Limit CREDITS.md to dependencies used by the + target , e.g. x86_64-unknown-linux-gnu. + See --print-targets for the supported values. "); @@ -46,6 +54,9 @@ pub(super) enum BashManError { /// # Bash Completions. Bash, + /// # Cargo Failed. + Cargo, + /// # Credits Failed. Credits, @@ -73,12 +84,18 @@ pub(super) enum BashManError { /// # Package Name. PackageName(String), + /// # Cargo Metadata (JSON) Parsing Error. + ParseCargoMetadata(String), + /// # Cargo.toml Parsing Error. ParseToml(String), /// # Read Error. Read(String), + /// # Unknown Target Triple. + Target, + /// # Unknown Subcommand. UnknownCommand(String), @@ -88,6 +105,9 @@ pub(super) enum BashManError { /// # Print Help (not really an error). PrintHelp, + /// # Print Targets (not really an error). + PrintTargets, + /// # Print Version (not really an error). PrintVersion, } @@ -98,6 +118,7 @@ impl fmt::Display for BashManError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let s = match self { Self::Bash => "Unable to generate Bash completions.", + Self::Cargo => "Unable to execute \x1b[2mcargo metadata\x1b[0m.", Self::Credits => "Unable to generate crate credits.", Self::Dir(k, v) => return write!(f, "Invalid {k} directory: {v}"), Self::DuplicateKeyWord(k) => return write!( @@ -118,11 +139,13 @@ impl fmt::Display for BashManError { Self::PackageName(s) => if s.is_empty() { "Package name cannot be empty." } else { return write!(f, "Invalid package name: {s}"); }, + Self::ParseCargoMetadata(s) => return write!(f, "Cargo metadata parsing error: {s}"), Self::ParseToml(s) => return write!(f, "Cargo.toml parsing error: {s}"), Self::Read(s) => return write!(f, "Unable to read: {s}"), Self::UnknownCommand(s) => return write!(f, "Unknown (sub)command: {s}"), Self::Write(s) => return write!(f, "Unable to write: {s}"), Self::PrintHelp => HELP, + Self::Target | Self::PrintTargets => return TargetTriple::print(f), Self::PrintVersion => concat!("Cargo BashMan v", env!("CARGO_PKG_VERSION")), }; f.write_str(s) diff --git a/src/main.rs b/src/main.rs index b218a7b..998c7dc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -80,8 +80,12 @@ use parse::{ keyword::KeyWord, Manifest, OptionFlag, - pkg::PackageName, + pkg::{ + Dependency, + PackageName, + }, Subcommand, + target::TargetTriple, TrailingArg, }; use std::{ @@ -123,9 +127,18 @@ static CWD: LazyLock> = LazyLock::new(|| fn main() { match _main() { Ok(()) => {}, - Err(e @ (BashManError::PrintHelp | BashManError::PrintVersion)) => { - println!("{e}"); - }, + Err(BashManError::Target) => { + Msg::error("Target must be one of the following:") + .eprint(); + eprintln!("\x1b[2m-----\x1b[0m"); + println!("{}", BashManError::Target); + std::process::exit(1); + } + Err(e @ ( + BashManError::PrintHelp | + BashManError::PrintTargets | + BashManError::PrintVersion + )) => { println!("{e}"); }, Err(e) => { Msg::error(e.to_string()).die(1); }, } } @@ -142,6 +155,7 @@ fn _main() -> Result<(), BashManError> { let mut flags: u8 = FLAG_ALL; let mut manifest = None; + let mut target = None; for arg in args { match arg { Argument::Key("--no-bash") => { flags &= ! FLAG_BASH; }, @@ -149,11 +163,15 @@ fn _main() -> Result<(), BashManError> { Argument::Key("--no-man") => { flags &= ! FLAG_MAN; }, Argument::Key("-h" | "--help") => return Err(BashManError::PrintHelp), + Argument::Key("--print-targets") => return Err(BashManError::PrintTargets), Argument::Key("-V" | "--version") => return Err(BashManError::PrintVersion), Argument::KeyWithValue("-m" | "--manifest-path", s) => { manifest.replace(PathBuf::from(s)); }, + Argument::KeyWithValue("-t" | "--target", s) => { + target.replace(TargetTriple::try_from(s)?); + }, // Nothing else is expected. Argument::Other(s) => if s.starts_with('-') { @@ -208,7 +226,7 @@ fn _main() -> Result<(), BashManError> { // Crate Credits. if FLAG_CREDITS == flags & FLAG_CREDITS { - match CreditsWriter::try_from(&manifest).and_then(|w| w.write(&mut buf)) { + match CreditsWriter::new(&manifest, target).and_then(|w| w.write(&mut buf)) { Ok(p) => { good.push("credits"); files.push(p); diff --git a/src/parse/metadata.rs b/src/parse/metadata.rs new file mode 100644 index 0000000..ee234ac --- /dev/null +++ b/src/parse/metadata.rs @@ -0,0 +1,359 @@ +/*! +# Cargo BashMan: Raw Cargo Metadata JSON Parsing. +*/ + +use crate::{ + BashManError, + Dependency, + PackageName, + TargetTriple, +}; +use semver::Version; +use serde::{ + Deserialize, + Deserializer, +}; +use std::{ + borrow::Cow, + collections::{ + BTreeSet, + hash_map::Entry, + HashMap, + HashSet, + }, + ffi::OsStr, + path::Path, + process::{ + Command, + Output, + Stdio, + }, + sync::OnceLock, +}; +use super::util; +use url::Url; + + + +#[inline] +/// # Fetch Dependencies. +/// +/// Run `cargo metadata` and parse the results into a sorted and deduped list +/// of dependencies. +pub(super) fn fetch_dependencies>( + src: P, + features: bool, + target: Option, +) -> Result, BashManError> { + let raw = cargo_exec(src, features, target)?; + from_json(&raw) +} + + + +#[derive(Debug, Deserialize)] +/// # Raw Top-Level Structure. +struct Raw<'a> { + #[serde(borrow)] + /// # Detailed Packages. + packages: Vec>, + + #[serde(borrow)] + /// # Resolved Tree. + resolve: RawNodes<'a>, +} + + + +#[derive(Debug, Deserialize)] +/// # Raw Nodes (Wrapper). +/// +/// This is mostly just a wrapper around the list of nodes, but it also lets +/// us know the ID of the main/root package. +struct RawNodes<'a> { + #[serde(default)] + #[serde(borrow)] + /// # Nodes. + nodes: Vec>, + + #[serde(borrow)] + /// # Root. + root: &'a str, +} + + + +#[derive(Debug, Deserialize)] +/// # Raw Node. +/// +/// Nodes are like Package-Lite, presumably to cut down on the JSON size. +struct RawNode<'a> { + #[serde(borrow)] + /// # ID. + id: &'a str, + + #[serde(default)] + #[serde(borrow)] + /// # Dependency Details. + deps: Vec>, +} + + + +#[derive(Debug, Clone, Copy, Deserialize)] +/// # Raw Node Dependency. +/// +/// The node dependencies are similarly lightweight, containing only an ID +/// and the unique context combinations. +struct RawNodeDep<'a> { + #[serde(rename = "pkg")] + #[serde(borrow)] + /// # ID. + id: &'a str, + + #[serde(default = "default_depkinds")] + #[serde(deserialize_with = "deserialize_depkinds")] + /// # Dependency Kinds. + dep_kinds: u8, +} + + + +#[derive(Debug, Clone, Copy, Deserialize)] +/// # Raw Node Dependency Kind. +/// +/// This holds the different combinations of kind/target for a given +/// dependency's dependency. +struct RawNodeDepKind { + #[serde(default)] + #[serde(rename = "kind")] + #[serde(deserialize_with = "deserialize_kind")] + /// # Development? + dev: bool, + + #[serde(default)] + #[serde(deserialize_with = "deserialize_target")] + /// # Target. + target: bool, +} + +impl RawNodeDepKind { + /// # Into Flag. + /// + /// Convert the kind/target into the corresponding context flag used by + /// our `Dependency` struct. + const fn as_flag(self) -> u8 { + if self.dev { Dependency::FLAG_DEV } + else if self.target { Dependency::FLAG_RUNTIME | Dependency::FLAG_TARGET } + else { Dependency::FLAG_RUNTIME | Dependency::FLAG_ANY } + } +} + + + +#[derive(Debug, Deserialize)] +/// # Raw Package. +/// +/// This is almost but not quite the same as our `Dependency` struct. +struct RawPackage<'a> { + /// # Name. + name: PackageName, + + /// # Version. + version: Version, + + #[serde(borrow)] + /// # ID. + id: &'a str, + + #[serde(default)] + #[serde(deserialize_with = "util::deserialize_license")] + /// # License. + license: String, + + #[serde(default)] + #[serde(deserialize_with = "util::deserialize_authors")] + /// # Author(s). + authors: Vec, + + #[serde(default)] + /// # Repository URL. + repository: Option, +} + + + +/// # Return Cargo Command. +/// +/// This instantiates a new (argumentless) command set to the `$CARGO` +/// environmental variable or simply "cargo". +fn cargo_cmd() -> Command { + /// # Cargo Executable Path. + static CARGO: OnceLock> = OnceLock::new(); + + // Start the command. + Command::new(CARGO.get_or_init(|| { + let out = std::env::var_os("CARGO").unwrap_or_default(); + if out.is_empty() { Cow::Borrowed(OsStr::new("cargo")) } + else { Cow::Owned(out) } + })) +} + +/// # Execute Cargo Metadata. +/// +/// Run `cargo metadata` and return the results (raw JSON) or an error. +fn cargo_exec>(src: P, features: bool, target: Option) +-> Result, BashManError> { + // Populate the command arguments. + let src: &Path = src.as_ref(); + let mut cmd = cargo_cmd(); + cmd.args([ + "metadata", + "--quiet", + "--color", "never", + "--format-version", "1", + if features { "--all-features" } else { "--no-default-features" }, + "--manifest-path", + ]); + cmd.arg(src); + if let Some(target) = target { + cmd.args(["--filter-platform", target.as_str()]); + } + + // Run it and see what happens! + let Output { status, stdout, .. } = cmd + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::null()) + .output() + .map_err(|_| BashManError::Cargo)?; + + if status.success() && stdout.starts_with(br#"{"packages":["#) { Ok(stdout) } + else { Err(BashManError::Credits) } +} + +/// # Default Dependency Kinds. +const fn default_depkinds() -> u8 { Dependency::FLAG_RUNTIME } + + + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Dependency Kinds. +fn deserialize_depkinds<'de, D>(deserializer: D) -> Result +where D: Deserializer<'de> { + if let Ok(out) = >::deserialize(deserializer) { + let out = out.into_iter().fold(0_u8, |acc, v| acc | v.as_flag()); + if out != 0 { return Ok(out); } + } + + Ok(Dependency::FLAG_RUNTIME) +} + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Dev Kind? +fn deserialize_kind<'de, D>(deserializer: D) -> Result +where D: Deserializer<'de> { + Ok( + matches!(>::deserialize(deserializer).ok().as_deref(), Some("dev")) + ) +} + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Target. +fn deserialize_target<'de, D>(deserializer: D) -> Result +where D: Deserializer<'de> { + Ok( + >::deserialize(deserializer).ok() + .map_or( + false, + |o| ! o.trim().is_empty() + ) + ) +} + +/// # Parse Dependencies. +/// +/// Parse the raw JSON output from a `cargo metadata` command and return +/// the relevant dependencies, deduped and sorted. +/// +/// This is called by `Manifest::dependencies` twice, with and without +/// features enabled to classify required/optional dependencies. +fn from_json(raw: &[u8]) -> Result, BashManError> { + let Raw { packages, resolve } = serde_json::from_slice(raw) + .map_err(|e| BashManError::ParseCargoMetadata(e.to_string()))?; + + // First let's figure out the contexts for each sub-dependency (build, + // target-specific, etc.). This requires looping loops of loops. Haha. + let mut flags = HashMap::<&str, u8>::with_capacity(packages.len()); + for deps in resolve.nodes.iter().flat_map(|r| r.deps.iter()) { + match flags.entry(deps.id) { + Entry::Occupied(mut e) => { *e.get_mut() |= deps.dep_kinds; }, + Entry::Vacant(e) => { e.insert(deps.dep_kinds); }, + } + } + + // Now build a list of all of the _used_ IDs (since the output contains + // potentially irrelevant shit). + let mut used: HashSet<&str> = resolve.nodes.iter().map(|n| n.id).collect(); + + // Strip the root node; this is about crediting _others_. Haha. + flags.remove(resolve.root); + used.remove(resolve.root); + + // We aren't interested in development-only packages, so let's strip + // anything that isn't also used for build/runtime. + for (id, flag) in &mut flags { + if Dependency::FLAG_DEV == *flag & Dependency::FLAG_CONTEXT { + used.remove(id); + } + + // The dev flag has served its purpose and can be removed. + *flag &= ! Dependency::FLAG_DEV; + } + + // All that's left to do is compile an authoritative set of the used + // dependencies in a friendly format. + let out: BTreeSet = packages.into_iter() + .filter_map(|p| + if used.contains(p.id) { + // Figure out the context flags. + let mut context = flags.get(p.id).copied().unwrap_or(0); + if 0 == context & Dependency::FLAG_CONTEXT { + context |= Dependency::FLAG_RUNTIME; + } + if 0 == context & Dependency::FLAG_PLATFORM { + context |= Dependency::FLAG_ANY; + } + + Some(Dependency { + name: String::from(p.name), + version: p.version, + license: if p.license.is_empty() { None } else { Some(p.license) }, + authors: p.authors, + url: p.repository.map(String::from), + context, + }) + } + else { None } + ) + .collect(); + + Ok(out) +} + + + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn t_parse_raw() { + let raw = std::fs::read("skel/metadata.json") + .expect("Missing skel/metadata.json"); + let raw = from_json(&raw).expect("Failed to marse metadata.json"); + + // For now let's just count the results. + assert_eq!(raw.len(), 86); + } +} diff --git a/src/parse/mod.rs b/src/parse/mod.rs index e52d0dd..d3b21cf 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -4,11 +4,16 @@ pub(super) mod keyword; pub(super) mod pkg; +pub(super) mod target; +mod metadata; mod toml; +mod util; use crate::{ BashManError, + Dependency, KeyWord, + TargetTriple, }; use std::{ cmp::Ordering, @@ -47,6 +52,9 @@ pub(crate) struct Manifest { /// # Subcommands. subcommands: Vec, + + /// # Extra Credits? + credits: BTreeSet, } impl Manifest { @@ -63,17 +71,15 @@ impl Manifest { let (dir, src) = manifest_source(src.as_ref())?; let toml::Raw { package } = toml::Raw::from_file(&src)?; let toml::RawPackage { name, version, description, metadata } = package; - let toml::RawBashMan { nice_name, dir_bash, dir_man, dir_credits, subcommands, flags, options, args, sections } = metadata; - let version = version.to_string(); - let name = KeyWord::from(name); + let toml::RawBashMan { nice_name, dir_bash, dir_man, dir_credits, subcommands, flags, options, args, sections, credits } = metadata; // Build the subcommands. let mut subs = BTreeMap::::new(); let main = Subcommand { nice_name, - name, + name: KeyWord::from(name), description, - version, + version: version.to_string(), parent: None, data: ManifestData::default(), }; @@ -136,6 +142,7 @@ impl Manifest { dir_credits: dir_credits.map(|v| dir.join(v)), dir, subcommands: subs.into_values().collect(), + credits: credits.into_iter().map(Dependency::from).collect(), }) } } @@ -198,6 +205,39 @@ impl Manifest { pub(crate) fn subcommands(&self) -> &[Subcommand] { self.subcommands.as_slice() } } +impl Manifest { + #[inline] + /// # Fetch Dependencies. + /// + /// Run `cargo metadata` to figure out what all dependencies are in the + /// tree and return them, or an error if it fails. + pub(crate) fn dependencies(&self, target: Option) + -> Result, BashManError> { + let src: &Path = self.src(); + + // Fetch the required dependencies first. + let mut out = metadata::fetch_dependencies(src, false, target)?; + + // Try again with all features enabled and add anything extra under + // the assumption that they're optional. If this fails, we'll stick + // with what we've already found. + if let Ok(all) = metadata::fetch_dependencies(src, true, target) { + if out.len() < all.len() { + for mut dep in all { + dep.context |= Dependency::FLAG_OPTIONAL; + out.insert(dep); + } + } + } + + // Add any custom entries. + out.extend(self.credits.iter().cloned()); + + // Done! + Ok(out.into_iter().collect()) + } +} + #[derive(Debug, Default)] diff --git a/src/parse/pkg.rs b/src/parse/pkg.rs index 815db09..080839c 100644 --- a/src/parse/pkg.rs +++ b/src/parse/pkg.rs @@ -6,11 +6,154 @@ use crate::{ BashManError, KeyWord, }; +use oxford_join::OxfordJoinFmt; use serde::de; +use semver::Version; use std::{ cmp::Ordering, fmt, }; +use trimothy::TrimMut; + + + +#[derive(Debug, Clone)] +/// # Dependency. +/// +/// This holds basic package information for a dependency. It is used when +/// generating credits. +pub(crate) struct Dependency { + /// # Name. + pub(super) name: String, + + /// # Version. + pub(super) version: Version, + + /// # License. + pub(super) license: Option, + + /// # Author(s). + pub(super) authors: Vec, + + /// # Repository URL. + pub(super) url: Option, + + /// # Context Flags. + pub(super) context: u8, +} + +impl Eq for Dependency {} + +impl Ord for Dependency { + #[inline] + fn cmp(&self, other: &Self) -> Ordering { + match self.name.cmp(&other.name) { + Ordering::Equal => self.version.cmp(&other.version), + cmp => cmp, + } + } +} + +impl PartialEq for Dependency { + #[inline] + fn eq(&self, other: &Self) -> bool { + self.name == other.name && self.version == other.version + } +} + +impl PartialOrd for Dependency { + #[inline] + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } +} + +impl Dependency { + /// # Feature-Specific. + pub(super) const FLAG_OPTIONAL: u8 = 0b0000_0001; + + /// # Runtime Context. + pub(super) const FLAG_RUNTIME: u8 = 0b0000_0010; + + /// # Dev Context. + pub(super) const FLAG_DEV: u8 = 0b0000_0100; + + /// # Not Target-Specific. + pub(super) const FLAG_ANY: u8 = 0b0000_1000; + + /// # Target-Specific. + pub(super) const FLAG_TARGET: u8 = 0b0001_0000; + + /// # Context Flags. + pub(super) const FLAG_CONTEXT: u8 = Self::FLAG_DEV | Self::FLAG_RUNTIME; + + /// # Platform Flags. + pub(super) const FLAG_PLATFORM: u8 = Self::FLAG_ANY | Self::FLAG_TARGET; +} + +impl Dependency { + /* + /// # Name. + pub(crate) fn name(&self) -> &str { &self.name } + + /// # Version. + pub(super) const fn version(&self) -> &Version { &self.version } + */ + + /// # License. + pub(super) fn license(&self) -> Option<&str> { self.license.as_deref() } + + /// # Author(s). + pub(super) fn authors(&self) -> &[String] { self.authors.as_slice() } + + /// # Repository URL. + pub(super) fn url(&self) -> Option<&str> { self.url.as_deref() } + + /// # Conditional? + pub(crate) const fn conditional(&self) -> bool { + (Self::FLAG_OPTIONAL == self.context & Self::FLAG_OPTIONAL) || + (Self::FLAG_TARGET == self.context & Self::FLAG_PLATFORM) + } + + /// # Context Flags. + pub(crate) const fn context(&self) -> &'static str { + let optional = Self::FLAG_OPTIONAL == self.context & Self::FLAG_OPTIONAL; + let target = Self::FLAG_TARGET == self.context & Self::FLAG_PLATFORM; + + match (optional, target) { + (true, true) => "optional, target-specific", + (true, false) => "optional", + (false, true) => "target-specific", + (false, false) => "", + } + } +} + +impl fmt::Display for Dependency { + /// # Write as Markdown. + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + // The name as a link. + if let Some(url) = self.url() { + write!( + f, + "| [{}]({url}) | {} | {} | {} |", + self.name, + self.version, + OxfordJoinFmt::and(self.authors()), + self.license().unwrap_or(""), + ) + } + // The name plain. + else { + write!( + f, + "| {} | {} | {} | {} |", + self.name, + self.version, + OxfordJoinFmt::and(self.authors()), + self.license().unwrap_or(""), + ) + } + } +} @@ -37,7 +180,7 @@ impl<'de> de::Deserialize<'de> for PackageName { fn deserialize(deserializer: D) -> Result where D: de::Deserializer<'de> { let raw = ::deserialize(deserializer)?; - Self::try_from(raw.as_str()).map_err(|_| de::Error::custom("invalid package name")) + Self::try_from(raw).map_err(|_| de::Error::custom("invalid package name")) } } @@ -56,6 +199,11 @@ impl From for KeyWord { } } +impl From for String { + #[inline] + fn from(src: PackageName) -> Self { src.name } +} + impl Ord for PackageName { fn cmp(&self, other: &Self) -> Ordering { // Do it the hard way. @@ -87,27 +235,26 @@ impl PartialOrd for PackageName { fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } } -impl TryFrom<&str> for PackageName { +impl TryFrom for PackageName { type Error = BashManError; - fn try_from(src: &str) -> Result { - let src = src.trim(); - let mut name = String::with_capacity(src.len()); - let mut hyphens = false; - for c in src.chars() { - match c { - 'a'..='z' => { name.push(c); }, - 'A'..='Z' => { name.push(c.to_ascii_lowercase()); }, - '0'..='9' | '-' | '_' if ! name.is_empty() => { - if c == '-' { hyphens = true; } - name.push(c); - }, - _ => return Err(BashManError::PackageName(src.to_owned())), + fn try_from(mut name: String) -> Result { + name.trim_mut(); + name.make_ascii_lowercase(); + let bytes = name.as_bytes(); + if ! bytes.is_empty() && bytes[0].is_ascii_alphabetic() { + let mut hyphens = false; + for b in bytes.iter().copied() { + if b == b'-' { hyphens = true; } + else if ! matches!(b, b'a'..=b'z' | b'0'..=b'9' | b'_') { + return Err(BashManError::PackageName(name)); + } } + + return Ok(Self { name, hyphens }); } - if name.is_empty() { Err(BashManError::PackageName(src.to_owned())) } - else { Ok(Self { name, hyphens }) } + Err(BashManError::PackageName(name)) } } diff --git a/src/parse/target.rs b/src/parse/target.rs new file mode 100644 index 0000000..90fba68 --- /dev/null +++ b/src/parse/target.rs @@ -0,0 +1,81 @@ +/*! +# Cargo BashMan: Target Triples. +*/ + +#![expect(clippy::too_many_lines, reason = "Rust has a lot of targets!")] + +use crate::BashManError; +use oxford_join::JoinFmt; +use std::{ + borrow::Cow, + collections::BTreeSet, + ffi::OsStr, + fmt, + process::{ + Command, + Stdio, + }, +}; + +// Generated by build.rs. +include!(concat!(env!("OUT_DIR"), "/target-triples.rs")); + +impl TargetTriple { + /// # Print Possibilities. + /// + /// This is used by `BashManError::PrintTargets` to emit a list of all + /// supported target triples. + /// + /// As our compile-time list may not match the local `rustc`, only targets + /// supported by _both_ will be reported. + pub(crate) fn print(f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + // Collect the targets we support, i.e. what our version of rustc + // supported at the time this package was last built. + let mut all: BTreeSet<&str> = Self::all().map(Self::as_str).collect(); + + // If the user has rustc on their system — they should! — see what it + // supports as it might be different. (We'll want to print the + // intersection in such cases.) + if let Some(real) = rustc_targets() { + let other: BTreeSet<&str> = real.lines() + .filter_map(|line| { + let line = line.trim(); + if line.is_empty() { None } + else { Some(line) } + }) + .collect(); + + // Remove anything from our list that other doesn't know about. + all.retain(|t| other.contains(t)); + } + + // Print them! + write!(f, "{}", JoinFmt::new(all.into_iter(), "\n")) + } +} + + + +/// # Actual Rustc Triples. +/// +/// We support what we support, but the native rustc might have its own ideas. +/// Query it if possible so we can compare and contrast. +fn rustc_targets() -> Option { + Command::new({ + let out = std::env::var_os("RUSTC").unwrap_or_default(); + if out.is_empty() { Cow::Borrowed(OsStr::new("rustc")) } + else { Cow::Owned(out) } + }) + .args(["--print", "target-list"]) + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::null()) + .output() + .ok() + .and_then(|o| + if o.status.success() { + String::from_utf8(o.stdout).ok().filter(|s| s.contains("aarch64-")) + } + else { None } + ) +} diff --git a/src/parse/toml.rs b/src/parse/toml.rs index 2421860..42a57ff 100644 --- a/src/parse/toml.rs +++ b/src/parse/toml.rs @@ -7,6 +7,7 @@ mess as much as possible. Haha. use crate::{ BashManError, + Dependency, KeyWord, PackageName, }; @@ -22,10 +23,9 @@ use std::{ }, path::Path, }; -use trimothy::{ - TrimMut, - NormalizeWhitespace, -}; +use super::util; +use trimothy::NormalizeWhitespace; +use url::Url; @@ -114,7 +114,7 @@ pub(super) struct RawPackage { /// # Package Version. pub(super) version: Version, - #[serde(deserialize_with = "deserialize_nonempty_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_str_normalized")] /// # Package Description. pub(super) description: String, @@ -136,11 +136,11 @@ struct RawMeta { } impl RawMeta { + #[inline] /// # Deserialize. fn deserialize<'de, D>(deserializer: D) -> Result where T: Deserialize<'de>, D: Deserializer<'de> { - let wrapper = ::deserialize(deserializer)?; - Ok(wrapper.bashman) + ::deserialize(deserializer).map(|w| w.bashman) } } @@ -153,25 +153,25 @@ impl RawMeta { pub(super) struct RawBashMan { #[serde(rename = "name")] #[serde(default)] - #[serde(deserialize_with = "deserialize_nonempty_opt_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_opt_str_normalized")] /// # Package Nice Name. pub(super) nice_name: Option, #[serde(rename = "bash-dir")] #[serde(default)] - #[serde(deserialize_with = "deserialize_nonempty_opt_str")] + #[serde(deserialize_with = "util::deserialize_nonempty_opt_str")] /// # Directory For Bash Completions. pub(super) dir_bash: Option, #[serde(rename = "man-dir")] #[serde(default)] - #[serde(deserialize_with = "deserialize_nonempty_opt_str")] + #[serde(deserialize_with = "util::deserialize_nonempty_opt_str")] /// # Directory for MAN pages. pub(super) dir_man: Option, #[serde(rename = "credits-dir")] #[serde(default)] - #[serde(deserialize_with = "deserialize_nonempty_opt_str")] + #[serde(deserialize_with = "util::deserialize_nonempty_opt_str")] /// # Directory for Credits. pub(super) dir_credits: Option, @@ -196,6 +196,10 @@ pub(super) struct RawBashMan { #[serde(default)] /// # Sections. pub(super) sections: Vec, + + #[serde(default)] + /// # Credits. + pub(super) credits: Vec, } @@ -206,14 +210,14 @@ pub(super) struct RawBashMan { /// This is what is found under "package.metadata.bashman.subcommands". pub(super) struct RawSubCmd { #[serde(default)] - #[serde(deserialize_with = "deserialize_nonempty_opt_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_opt_str_normalized")] /// # Nice Name. pub(super) name: Option, /// # (Sub)command. pub(super) cmd: KeyWord, - #[serde(deserialize_with = "deserialize_nonempty_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_str_normalized")] /// # Description. pub(super) description: String, } @@ -233,7 +237,7 @@ pub(super) struct RawSwitch { /// # Long Key. pub(super) long: Option, - #[serde(deserialize_with = "deserialize_nonempty_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_str_normalized")] /// # Description. pub(super) description: String, @@ -261,7 +265,7 @@ pub(super) struct RawOption { /// # Long Key. pub(super) long: Option, - #[serde(deserialize_with = "deserialize_nonempty_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_str_normalized")] /// # Description. pub(super) description: String, @@ -295,7 +299,7 @@ pub(super) struct RawArg { /// # Value Label. pub(super) label: Option, - #[serde(deserialize_with = "deserialize_nonempty_str_normalized")] + #[serde(deserialize_with = "util::deserialize_nonempty_str_normalized")] /// # Description. pub(super) description: String, @@ -332,14 +336,64 @@ pub(super) struct RawSection { +#[derive(Debug, Clone, Deserialize)] +/// # Raw Switch. +/// +/// This is what is found under "package.metadata.bashman.credits". +pub(super) struct RawCredits { + /// # Name. + name: PackageName, + + /// # Version. + version: Version, + + #[serde(default)] + #[serde(deserialize_with = "util::deserialize_license")] + /// # License. + license: String, + + #[serde(default)] + #[serde(deserialize_with = "util::deserialize_authors")] + /// # Author(s). + authors: Vec, + + #[serde(default)] + /// # Repository URL. + repository: Option, + + #[serde(default)] + /// # Optional? + optional: bool, +} + +impl From for Dependency { + #[inline] + fn from(src: RawCredits) -> Self { + let context = + if src.optional { Self::FLAG_RUNTIME | Self::FLAG_OPTIONAL } + else { Self::FLAG_RUNTIME }; + + Self { + name: String::from(src.name), + version: src.version, + license: if src.license.is_empty() { None } else { Some(src.license) }, + authors: src.authors, + url: src.repository.map(String::from), + context, + } + } +} + + + #[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] /// # Deserialize: Section Items. fn deserialize_items<'de, D>(deserializer: D) -> Result, D::Error> where D: Deserializer<'de> { let mut out = Vec::<[String; 2]>::deserialize(deserializer).unwrap_or_default(); out.retain_mut(|line| { - line[0] = line[0].normalized_control_and_whitespace().collect(); - line[1] = line[1].normalized_control_and_whitespace().collect(); + util::normalize_string(&mut line[0]); + util::normalize_string(&mut line[1]); ! line[0].is_empty() || ! line[1].is_empty() }); @@ -353,11 +407,9 @@ where D: Deserializer<'de> { fn deserialize_label<'de, D>(deserializer: D) -> Result, D::Error> where D: Deserializer<'de> { Ok( - Option::::deserialize(deserializer) - .ok() - .flatten() - .and_then(|x| { - let mut x: String = x.normalized_control_and_whitespace().collect(); + ::deserialize(deserializer).ok() + .and_then(|mut x| { + util::normalize_string(&mut x); if x.is_empty() { None } else { if ! x.starts_with('<') { x.insert(0, '<'); } @@ -375,7 +427,7 @@ where D: Deserializer<'de> { let mut out = Vec::::deserialize(deserializer).unwrap_or_default(); let mut any = false; out.retain_mut(|line| { - *line = line.normalized_control_and_whitespace().collect(); + util::normalize_string(line); if line.is_empty() && ! any { false } else { any = true; @@ -391,54 +443,6 @@ where D: Deserializer<'de> { Ok(out) } -/// # Deserialize: Require Non-Empty String, Normalized. -/// -/// This will return an error if a string is present but empty. -fn deserialize_nonempty_str_normalized<'de, D>(deserializer: D) -> Result -where D: Deserializer<'de> { - let tmp = ::deserialize(deserializer)?; - let out: String = tmp.normalized_control_and_whitespace().collect(); - if out.is_empty() { Err(serde::de::Error::custom("value cannot be empty")) } - else { Ok(out) } -} - -#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] -/// # Deserialize: Optional Non-Empty String. -/// -/// This will return `None` if the string is empty. -fn deserialize_nonempty_opt_str<'de, D>(deserializer: D) -> Result, D::Error> -where D: Deserializer<'de> { - Ok( - Option::::deserialize(deserializer) - .ok() - .flatten() - .and_then(|mut x| { - x.trim_mut(); - if x.is_empty() { None } - else { Some(x) } - }) - ) -} - -#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] -/// # Deserialize: Optional None-Empty String, Normalized. -/// -/// This will return `None` if the string is empty, normalizing whitespace and -/// control characters along the way. -fn deserialize_nonempty_opt_str_normalized<'de, D>(deserializer: D) -> Result, D::Error> -where D: Deserializer<'de> { - Ok( - Option::::deserialize(deserializer) - .ok() - .flatten() - .and_then(|x| { - let x: String = x.normalized_control_and_whitespace().collect(); - if x.is_empty() { None } - else { Some(x) } - }) - ) -} - /// # Deserialize: Section Name. /// /// This will return an error if a string is present but empty. diff --git a/src/parse/util.rs b/src/parse/util.rs new file mode 100644 index 0000000..272d4eb --- /dev/null +++ b/src/parse/util.rs @@ -0,0 +1,259 @@ +/*! +# Cargo BashMan: Parsing Helpers. +*/ + +use adbyss_psl::Domain; +use serde::{ + Deserialize, + Deserializer, +}; +use trimothy::{ + NormalizeWhitespace, + TrimMut, +}; + + + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Authors. +pub(super) fn deserialize_authors<'de, D>(deserializer: D) -> Result, D::Error> +where D: Deserializer<'de> { + if let Ok(mut out) = >::deserialize(deserializer) { + out.retain_mut(|line| { + nice_author(line); + ! line.is_empty() + }); + return Ok(out); + } + + Ok(Vec::new()) +} + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Package License. +/// +/// Note this removes problematic characters but does not strictly enforce SPDX +/// formatting requirements or license names. +pub(super) fn deserialize_license<'de, D>(deserializer: D) -> Result +where D: Deserializer<'de> { + if let Ok(mut out) = ::deserialize(deserializer) { + out.retain(|c| ! matches!(c, '[' | ']' | '<' | '>' | '|')); + + // Slash separators are deprecated. + while let Some(pos) = out.find('/') { out.replace_range(pos..=pos, " OR "); } + + // Normalize and return. + normalize_string(&mut out); + return Ok(out); + } + + Ok(String::new()) +} + +/// # Deserialize: Non-Empty String, Normalized. +/// +/// This will return an error if a string is present but empty. +pub(super) fn deserialize_nonempty_str_normalized<'de, D>(deserializer: D) -> Result +where D: Deserializer<'de> { + let mut out = ::deserialize(deserializer)?; + normalize_string(&mut out); + if out.is_empty() { Err(serde::de::Error::custom("value cannot be empty")) } + else { Ok(out) } +} + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Optional Non-Empty String. +/// +/// This will return `None` if the string is empty. +pub(super) fn deserialize_nonempty_opt_str<'de, D>(deserializer: D) -> Result, D::Error> +where D: Deserializer<'de> { + Ok( + ::deserialize(deserializer).ok() + .and_then(|mut x| { + x.trim_mut(); + if x.is_empty() { None } + else { Some(x) } + }) + ) +} + +#[expect(clippy::unnecessary_wraps, reason = "We don't control this signature.")] +/// # Deserialize: Optional Non-Empty String, Normalized. +/// +/// This will return `None` if the string is empty, normalizing whitespace and +/// control characters along the way. +pub(super) fn deserialize_nonempty_opt_str_normalized<'de, D>(deserializer: D) -> Result, D::Error> +where D: Deserializer<'de> { + Ok( + ::deserialize(deserializer).ok() + .and_then(|mut x| { + normalize_string(&mut x); + if x.is_empty() { None } + else { Some(x) } + }) + ) +} + +/// # Normalize String. +/// +/// Compact whitespace and strip control characters. +/// +/// This proceeds under the assumption that most normalization can be achieved +/// "inline" via `retain`, but if substitution is required it will rebuild the +/// string char-by-char. +pub(super) fn normalize_string(raw: &mut String) { + let mut ws = true; + let mut rebuild = false; + raw.retain(|c: char| + if c.is_whitespace() { + if ws { false } + else { + ws = true; + if c != ' ' { rebuild = true; } + true + } + } + else if c.is_control() { false } + else { + ws = false; + true + } + ); + + // We encountered something requiring more than a strip; rebuild! + if rebuild { *raw = raw.normalized_whitespace().collect(); } + // Just trim the end and we're good to go! + else { raw.trim_end_mut(); } +} + + + +/// # Nice Author Line. +/// +/// Sanitize an author line, which should either look like "Name" or +/// "Name ". If the latter, this will reformat it as a markdown link +/// for the benefit of our credits generation. +fn nice_author(raw: &mut String) { + // Check for an email address. + if let Some((start, end)) = raw.find('<').zip(raw.rfind('>')) { + if start < end { + // Chop off the email bit. + raw.truncate(end); + let email = raw.split_off(start + 1); + raw.truncate(start); + + if let Some(email) = nice_email(email) { + // Pretty up the name part. + raw.retain(|c| ! matches!(c, '[' | ']' | '<' | '>' | '(' | ')' | '|')); + normalize_string(raw); + + // We have an email but not a name. + if raw.is_empty() { + raw.push('['); + raw.push_str(&email); + raw.push_str("](mailto:"); + raw.push_str(&email); + raw.push(')'); + return; + } + + // Add the email back. + raw.insert(0, '['); + raw.push_str("](mailto:"); + raw.push_str(&email); + raw.push(')'); + return; + } + } + } + + // It stands alone. + raw.retain(|c| ! matches!(c, '[' | ']' | '<' | '>' | '(' | ')' | '|')); + normalize_string(raw); +} + +/// # Validate email. +/// +/// It's unclear if the Cargo author metadata is pre-sanitized. Just in case, +/// this method performs semi-informed validation against suspected email +/// addresses, making sure the user portion is lowercase alphanumeric (with `.`, +/// `+`, `-`, and `_` allowed), and the host is ASCII with a valid public +/// suffix. (The host domain itself may or may not exist, but that's fine.) +/// +/// If any of the above conditions fail, `None` is returned, otherwise a fresh +/// owned `String` is returned. +fn nice_email(mut raw: String) -> Option { + // We need an at sign! + raw.trim_mut(); + let at = raw.find('@')?; + if raw.len() <= at + 1 { return None; } + + // We also need a user portion consisting of only ASCII alphanumeric or the + // limited special characters we support. + raw.make_ascii_lowercase(); + let user = raw[..at].as_bytes(); + if user.is_empty() || ! user.iter().copied().all(|b| matches!(b, b'a'..=b'z' | b'0'..=b'9' | b'.' | b'+' | b'-' | b'_')) { + return None; + } + + // Split off and validate/clean the host. + let host = Domain::try_from(raw.split_off(at + 1)).ok()?; + + // Add it back and return! + raw.push_str(host.as_str()); + Some(raw) +} + + + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn t_nice_author() { + let mut author = String::new(); + for (raw, expected) in [ + (" <", ""), + ("Josh ", "[Josh](mailto:user@xn--g6h.com)"), + ("", "[user@xn--g6h.com](mailto:user@xn--g6h.com)"), + ("The\tConsortium", "The Consortium"), + ("Björk ", "Björk"), + ] { + raw.clone_into(&mut author); + nice_author(&mut author); + assert_eq!(author, expected); + } + } + + #[test] + fn t_nice_email() { + assert_eq!( + nice_email(" JoSh@BloBfolio.com ".to_owned()), + Some("josh@blobfolio.com".to_owned()) + ); + + assert_eq!(nice_email(" JoSh@BloBfolio.x ".to_owned()), None); + + assert_eq!( + nice_email("USER@♥.com".to_owned()), + Some("user@xn--g6h.com".to_owned()) + ); + } + + #[test] + fn t_normalize_string() { + let mut buf = String::new(); + + for (raw, expected) in [ + ("Björk", "Björk"), + (" Björk\t\n", "Björk"), + ("hello\tB\0j\x1börk", "hello Björk"), + (" \0 ", ""), + ] { + raw.clone_into(&mut buf); + normalize_string(&mut buf); + assert_eq!(buf, expected); + } + } +}