diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33e6923..e6e1b42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,6 +12,9 @@ on: - 'v[0-9]+.[0-9]+.[0-9]+**' pull_request: +env: + CARGO_EQUIP_TEST_NIGHTLY_TOOLCHAIN: nightly-2023-08-04 + jobs: rustfmt: name: Rustfmt @@ -32,8 +35,6 @@ jobs: grcov: name: grcov runs-on: ubuntu-20.04 - env: - CARGO_EQUIP_TEST_NIGHTLY_TOOLCHAIN: nightly-2022-03-25 if: ${{ github.repository_owner == 'qryxip' && github.ref == 'refs/heads/master' }} steps: @@ -102,9 +103,6 @@ jobs: name: ${{ matrix.channel }}-${{ matrix.target-triple }} runs-on: ${{ matrix.os }} - env: - CARGO_EQUIP_TEST_NIGHTLY_TOOLCHAIN: nightly-2022-03-25 - steps: - name: Disable `core.autocrlf` run: git config --global core.autocrlf false diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e1e13b..3238dde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog +## [Unreleased] + +### Added + +- Added `--toolchain-for-proc-macro-srv`. + + ```console + --toolchain-for-proc-macro-srv Toolchain for expanding procedural macros + ``` + +### Changed + +- Updated the embedded Rust Analyzer to `2023-07-31` (`0.0.166`). + + For Rust <1.64, `--toolchain-for-proc-macro-srv` is required for macro expansion. + + ```console + ❯ cargo +1.42.0 equip 2>&1 | tail -n 2 + Rust ≧1.64.0 is required for expanding procedural macros. Specify one with `--toolchain-for-proc-macro-srv` + ``` + + This update should fix the issue where macro expansion segfaults. + +- `--toolchain` was renamed to `--toolchain-for-udeps`. + + ```console + ❯ cargo equip --toolchain nightly + warning: `--toolchain` was renamed to `--toolchain-for-udeps` + ``` + +### Fixed + +- Updated [prettytable](https://docs.rs/crate/prettytable). ([#193](https://github.com/qryxip/cargo-equip/pull/193) by [@ichyo](https://github.com/ichyo)) + + Now cargo-equip built with recent Rust works. + ## [0.19.0] - 2022-03-26Z ### Added diff --git a/Cargo.lock b/Cargo.lock index c5cda95..17795a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "always-assert" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" +checksum = "4436e0292ab1bb631b42973c61205e704475fe8126af845c8d923c0996328127" dependencies = [ "log", ] @@ -20,18 +20,25 @@ dependencies = [ "winapi", ] +[[package]] +name = "anstyle" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" + [[package]] name = "anyhow" -version = "1.0.56" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "assert_cmd" -version = "2.0.4" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ae1ddd39efd67689deb1979d80bad3bf7f2b09c6e6117c8d1f2443b5e2f83e" +checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6" dependencies = [ + "anstyle", "bstr", "doc-comment", "predicates", @@ -63,13 +70,18 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bstr" -version = "0.2.17" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ - "lazy_static", "memchr", "regex-automata", "serde", @@ -77,15 +89,15 @@ dependencies = [ [[package]] name = "bytes" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "camino" -version = "1.0.7" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -119,17 +131,16 @@ dependencies = [ "quote", "ra_ap_paths", "ra_ap_proc_macro_api", - "ra_ap_proc_macro_srv", "ra_ap_tt", "rand", "rustminify", "semver", "serde", "serde_json", - "smol_str", "spdx", "structopt", - "syn", + "syn 1.0.109", + "tap", "tempfile", "termcolor", "toml_edit", @@ -138,9 +149,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" dependencies = [ "serde", ] @@ -182,9 +193,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "6c6b2562119bf28c3439f7f02db99faf0aa1a8cdfe5772a2ee155d32227239f0" +dependencies = [ + "libc", +] [[package]] name = "cfg-expr" @@ -218,7 +232,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim", "textwrap", "unicode-width", @@ -227,9 +241,9 @@ dependencies = [ [[package]] name = "combine" -version = "4.6.3" +version = "4.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b727aacc797f9fc28e355d21f34709ac4fc9adecfe470ad07b8f4464f53062" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" dependencies = [ "bytes", "memchr", @@ -255,15 +269,14 @@ dependencies = [ [[package]] name = "console" -version = "0.15.0" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode 0.3.6", + "lazy_static", "libc", - "once_cell", - "terminal_size", - "winapi", + "windows-sys 0.45.0", ] [[package]] @@ -284,9 +297,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "countme" @@ -300,10 +313,23 @@ dependencies = [ ] [[package]] -name = "cov-mark" -version = "2.0.0-pre.1" +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d48d8f76bd9331f19fe2aaf3821a9f9fb32c3963e1e3d6ce82a8c09cef7444a" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] [[package]] name = "crypto-hash" @@ -319,13 +345,12 @@ dependencies = [ [[package]] name = "csv" -version = "1.1.6" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1" +checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" dependencies = [ - "bstr", "csv-core", - "itoa 0.4.8", + "itoa", "ryu", "serde", ] @@ -339,25 +364,17 @@ dependencies = [ "memchr", ] -[[package]] -name = "ctor" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" -dependencies = [ - "quote", - "syn", -] - [[package]] name = "dashmap" -version = "5.2.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c" +checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" dependencies = [ "cfg-if", - "num_cpus", - "parking_lot", + "hashbrown 0.14.0", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] @@ -370,14 +387,14 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 1.0.109", ] [[package]] name = "diff" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" [[package]] name = "difflib" @@ -412,17 +429,11 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" -[[package]] -name = "drop_bomb" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1" - [[package]] name = "either" -version = "1.6.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encode_unicode" @@ -438,9 +449,9 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -459,30 +470,27 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.7.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "filetime" -version = "0.2.15" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" dependencies = [ "cfg-if", "libc", - "redox_syscall", - "winapi", + "redox_syscall 0.2.16", + "windows-sys 0.48.0", ] [[package]] name = "fixedbitset" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "foreign-types" @@ -501,9 +509,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "getrandom" -version = "0.2.5" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", @@ -512,15 +520,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" [[package]] name = "heck" @@ -542,9 +550,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -566,99 +574,74 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" [[package]] name = "indexmap" -version = "1.8.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown 0.11.2", + "hashbrown 0.12.3", ] [[package]] name = "indoc" -version = "1.0.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7906a9fababaeacb774f72410e497a1d18de916322e33797bb2cd29baa23c9e" -dependencies = [ - "unindent", -] +checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" [[package]] name = "insta" -version = "1.13.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7e1911532a662f6b08b68f884080850f2fd9544963c3ab23a5af42bda1eac" +checksum = "a0770b0a3d4c70567f0d58331f3088b0e4c4f56c9b8d764efe654b4a5d46de3a" dependencies = [ "console", - "once_cell", - "serde", - "serde_json", - "serde_yaml", + "lazy_static", + "linked-hash-map", "similar", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", + "yaml-rust", ] [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", + "hermit-abi 0.3.2", "rustix", "windows-sys 0.48.0", ] [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.1" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] +[[package]] +name = "jod-thread" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae" + [[package]] name = "krates" version = "0.8.1" @@ -680,6 +663,12 @@ dependencies = [ "serde", ] +[[package]] +name = "la-arena" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3752f229dcc5a481d60f385fa479ff46818033d881d2d801aa27dffcfb5e8306" + [[package]] name = "lazy_static" version = "1.4.0" @@ -688,49 +677,37 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" - -[[package]] -name = "libloading" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "linked-hash-map" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" -version = "0.4.6" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ + "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.16" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" -dependencies = [ - "cfg-if", -] +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "maplit" @@ -746,28 +723,19 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memmap2" -version = "0.5.3" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "miow" version = "0.3.7" @@ -779,95 +747,77 @@ dependencies = [ [[package]] name = "miow" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7377f7792b3afb6a3cba68daa54ca23c032137010460d667fda53a8d66be00e" -dependencies = [ - "windows-sys 0.28.0", -] - -[[package]] -name = "num_cpus" -version = "1.13.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123" dependencies = [ - "hermit-abi 0.1.19", - "libc", + "windows-sys 0.42.0", ] [[package]] name = "object" -version = "0.28.3" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.10.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "openssl" -version = "0.10.38" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] [[package]] -name = "openssl-sys" -version = "0.9.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "output_vt100" -version = "0.1.3" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "winapi", + "proc-macro2", + "quote", + "syn 2.0.28", ] [[package]] -name = "parking_lot" -version = "0.12.0" +name = "openssl-sys" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ - "lock_api", - "parking_lot_core", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] name = "parking_lot_core" -version = "0.9.1" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.3.5", "smallvec", - "windows-sys 0.32.0", + "windows-targets 0.48.1", ] [[package]] @@ -891,9 +841,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.0" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", "indexmap", @@ -901,28 +851,29 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" [[package]] name = "pkg-config" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "2.1.1" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c" +checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" dependencies = [ + "anstyle", "difflib", "itertools", "predicates-core", @@ -930,15 +881,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.3" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" [[package]] name = "predicates-tree" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" dependencies = [ "predicates-core", "termtree", @@ -946,14 +897,12 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c038cb5319b9c704bf9c227c261d275bfec0ad438118a2787ce47944fb228b" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" dependencies = [ - "ansi_term", - "ctor", "diff", - "output_vt100", + "yansi", ] [[package]] @@ -979,7 +928,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -996,72 +945,33 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.17" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] -[[package]] -name = "ra_ap_la-arena" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21c3f4e5c46b857f34a8aee25d4af2aad566a0dbcbb5a98ca52a98a0acbc5810" - -[[package]] -name = "ra_ap_limit" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba1fcb5d6c139453b6fe3a87c84f717199dd56fadc3ea9733ddacdff19c057a" - -[[package]] -name = "ra_ap_mbe" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d48a68cb9efa0006191edc1348c8d927fc3512adc9815abac54128ed88649ba" -dependencies = [ - "cov-mark", - "ra_ap_parser", - "ra_ap_stdx", - "ra_ap_syntax", - "ra_ap_tt", - "rustc-hash", - "smallvec", - "tracing", -] - -[[package]] -name = "ra_ap_parser" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "316660572c84524ad7fd0249a46a09c7f914b1d045599dca7aa334a162f2dc28" -dependencies = [ - "drop_bomb", - "ra_ap_limit", - "rustc-ap-rustc_lexer", -] - [[package]] name = "ra_ap_paths" -version = "0.0.101" +version = "0.0.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7fac9cfaa364b61dcef319aec940e2923e0c92b51d8a367beff32363398be9" +checksum = "47853bc3cbcc022b1e2d8a03b385728a6b4bf2d76379674ae2fbc558456aa824" [[package]] name = "ra_ap_proc_macro_api" -version = "0.0.101" +version = "0.0.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ef863eb566f943b0d371b35d8f0c99069dd06640f051b82757495002a51a289" +checksum = "56310b6f0292a217719714b1e04e930073cf4a8b74a78f92908225581d1451cf" dependencies = [ "memmap2", "object", @@ -1073,85 +983,43 @@ dependencies = [ "serde_json", "snap", "tracing", -] - -[[package]] -name = "ra_ap_proc_macro_srv" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb1da12089c6f31e47ea7ad2aaa2f402d208858b981152f72e9a1e4c882d06da" -dependencies = [ - "libloading", - "memmap2", - "object", - "ra_ap_mbe", - "ra_ap_paths", - "ra_ap_proc_macro_api", - "ra_ap_tt", + "triomphe", ] [[package]] name = "ra_ap_profile" -version = "0.0.101" +version = "0.0.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22ca6c944c41dd71418787ef7495912b9030687eca8966b0baf98ba4c5bf909" +checksum = "171b058e1e245c5a9fb0d9cca67fb477b993e0d6ffe507076eb7dba052435666" dependencies = [ "cfg-if", "countme", + "la-arena", "libc", "once_cell", "perf-event", - "ra_ap_la-arena", "winapi", ] [[package]] name = "ra_ap_stdx" -version = "0.0.101" +version = "0.0.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbacb76788cce7f166536b794c4d2708c074ac8e204775a9cdf08bf08a62407" +checksum = "b84673a6890eee1ef44baa2a8ee5ee3b7e53ca45f9b4f6f8beb4c2dfe18e00a2" dependencies = [ "always-assert", + "crossbeam-channel", + "jod-thread", "libc", - "miow 0.4.0", + "miow 0.5.0", "winapi", ] -[[package]] -name = "ra_ap_syntax" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2798466eb83fe96d1458b5c58dbcad05e1ce2547e171af6acc70f97f62a70b71" -dependencies = [ - "cov-mark", - "indexmap", - "itertools", - "once_cell", - "ra_ap_parser", - "ra_ap_profile", - "ra_ap_stdx", - "ra_ap_text_edit", - "rowan", - "rustc-ap-rustc_lexer", - "rustc-hash", - "smol_str", -] - -[[package]] -name = "ra_ap_text_edit" -version = "0.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489ace8df1433cd8dade69ed524d11ba7849762abc6abfaa0118dacadb951eab" -dependencies = [ - "itertools", - "text-size", -] - [[package]] name = "ra_ap_tt" -version = "0.0.101" +version = "0.0.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a704a0589e9ecd1bd001e5be249bf7673308c9f33c00db26f2fdf644e36d556" +checksum = "c570c3aca3afb046736abf1672dc9eab31e75de0ff43ac41bd46af7982240dc7" dependencies = [ "ra_ap_stdx", "smol_str", @@ -1180,69 +1048,47 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] [[package]] name = "redox_syscall" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae183fc1b06c149f0c1793e1eb447c8b04bfe46d48e9e48bfb8d2d7ed64ecf0" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.2" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7776223e2696f1aa4c6b0170e83212f47296a00424305117d013dfe86fb0fe55" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "getrandom", - "redox_syscall", - "thiserror", + "bitflags 1.3.2", ] [[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" +name = "redox_syscall" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "winapi", + "bitflags 1.3.2", ] [[package]] -name = "rowan" -version = "0.15.4" +name = "redox_users" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c1112d7b23c800be3a0dae244886b71d96b1461b57b31b56e4c679acbe614f" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "countme", - "hashbrown 0.12.0", - "memoffset", - "rustc-hash", - "text-size", + "getrandom", + "redox_syscall 0.2.16", + "thiserror", ] [[package]] -name = "rustc-ap-rustc_lexer" -version = "725.0.0" +name = "regex-automata" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950742ef8a203aa7661aad3ab880438ddeb7f95d4b837c30d65db1a2c5df68e" -dependencies = [ - "unicode-xid", -] +checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" [[package]] name = "rustc-hash" @@ -1261,13 +1107,12 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.20" +version = "0.38.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +checksum = "1ee020b1716f0a80e2ace9b03441a749e402e86712f15f16fe8a8f75afac732f" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.48.0", @@ -1281,20 +1126,20 @@ checksum = "8ebf2755dbb7825d6215fa58eb885419385d62d29a5bba66eda6dce2655043d9" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "same-file" @@ -1307,60 +1152,48 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.6" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.136" +version = "1.0.181" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "6d3e73c93c3240c0bda063c239298e633114c69a888c3e37ca8bb33f343e9890" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.181" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "be02f6cb0cd3a5ec20bbcfbcbd749f57daddb1a0882dc2e46a6c236c90b977ed" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" -dependencies = [ - "itoa 1.0.1", - "ryu", - "serde", -] - -[[package]] -name = "serde_yaml" -version = "0.8.23" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ - "indexmap", + "itoa", "ryu", "serde", - "yaml-rust", ] [[package]] @@ -1371,30 +1204,30 @@ checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" [[package]] name = "similar" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3" +checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" [[package]] name = "smallvec" -version = "1.8.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "smol_str" -version = "0.1.21" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61d15c83e300cce35b7c8cd39ff567c1ef42dde6d4a1a38dbdbf9a59902261bd" +checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c" dependencies = [ "serde", ] [[package]] name = "snap" -version = "1.0.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" +checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "spdx" @@ -1432,32 +1265,48 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "syn" -version = "1.0.89" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tempfile" -version = "3.3.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" dependencies = [ "cfg-if", "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", ] [[package]] @@ -1473,34 +1322,18 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "termtree" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b" - -[[package]] -name = "text-size" -version = "1.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "288cb548dbe72b652243ea797201f3d481a0609a967980fcc5b2315ea811560a" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "textwrap" @@ -1513,22 +1346,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.28", ] [[package]] @@ -1545,9 +1378,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "pin-project-lite", @@ -1557,47 +1390,47 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.28", ] [[package]] name = "tracing-core" -version = "0.1.23" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] -name = "unicode-segmentation" -version = "1.9.0" +name = "triomphe" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] -name = "unicode-width" -version = "0.1.9" +name = "unicode-ident" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] -name = "unicode-xid" -version = "0.2.2" +name = "unicode-segmentation" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] -name = "unindent" -version = "0.1.8" +name = "unicode-width" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "vcpkg" @@ -1628,30 +1461,29 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "which" -version = "4.2.5" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" dependencies = [ "either", - "lazy_static", "libc", + "once_cell", ] [[package]] @@ -1687,28 +1519,26 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.28.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ca39602d5cbfa692c4b67e3bcbb2751477355141c1ed434c94da4186836ff6" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows_aarch64_msvc 0.28.0", - "windows_i686_gnu 0.28.0", - "windows_i686_msvc 0.28.0", - "windows_x86_64_gnu 0.28.0", - "windows_x86_64_msvc 0.28.0", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] name = "windows-sys" -version = "0.32.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows_aarch64_msvc 0.32.0", - "windows_i686_gnu 0.32.0", - "windows_i686_msvc 0.32.0", - "windows_x86_64_gnu 0.32.0", - "windows_x86_64_msvc 0.32.0", + "windows-targets 0.42.2", ] [[package]] @@ -1717,41 +1547,56 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.1", ] [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows_aarch64_gnullvm", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", "windows_aarch64_msvc 0.48.0", "windows_i686_gnu 0.48.0", "windows_i686_msvc 0.48.0", "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm", + "windows_x86_64_gnullvm 0.48.0", "windows_x86_64_msvc 0.48.0", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] -name = "windows_aarch64_msvc" -version = "0.28.0" +name = "windows_aarch64_gnullvm" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52695a41e536859d5308cc613b4a022261a274390b25bd29dfff4bf08505f3c2" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_msvc" -version = "0.32.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -1761,15 +1606,9 @@ checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_i686_gnu" -version = "0.28.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f54725ac23affef038fecb177de6c9bf065787c2f432f79e3c373da92f3e1d8a" - -[[package]] -name = "windows_i686_gnu" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -1779,15 +1618,9 @@ checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d5158a43cc43623c0729d1ad6647e62fa384a3d135fd15108d37c683461f64" - -[[package]] -name = "windows_i686_msvc" -version = "0.32.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -1797,15 +1630,9 @@ checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc31f409f565611535130cfe7ee8e6655d3fa99c1c61013981e491921b5ce954" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.32.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -1815,21 +1642,21 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] -name = "windows_x86_64_msvc" -version = "0.28.0" +name = "windows_x86_64_gnullvm" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2b8c7cbd3bfdddd9ab98769f9746a7fad1bca236554cd032b78d768bc0e89f" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_msvc" -version = "0.32.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -1845,3 +1672,9 @@ checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" dependencies = [ "linked-hash-map", ] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" diff --git a/Cargo.toml b/Cargo.toml index 989eeb6..e99b28f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,45 +9,44 @@ keywords = ["competitive", "cli", "windows"] categories = ["command-line-utilities", "development-tools::cargo-plugins"] [dependencies] -anyhow = "1.0.56" +anyhow = "1.0.72" atty = "0.2.14" -camino = { version = "1.0.7", features = ["serde1"] } +camino = { version = "1.1.6", features = ["serde1"] } cargo-util = "0.1.2" cargo_metadata = "0.14.2" -cfg-expr = "0.9.0" +cfg-expr = "0.9.1" derive_more = "0.99.17" dirs-next = "2.0.0" -fixedbitset = "0.4.1" +fixedbitset = "0.4.2" if_chain = "1.0.2" -indoc = "1.0.4" -itertools = "0.10.3" +indoc = "1.0.9" +itertools = "0.10.5" krates = "0.8.1" maplit = "1.0.2" -once_cell = "1.10.0" -petgraph = "0.6.0" +petgraph = "0.6.3" prettytable-rs = "0.10.0" -proc-macro2 = { version = "1.0.36", features = ["span-locations"] } -quote = "1.0.17" -ra_ap_paths = "=0.0.101" -ra_ap_proc_macro_api = "=0.0.101" -ra_ap_proc_macro_srv = "=0.0.101" -ra_ap_tt = "=0.0.101" +proc-macro2 = { version = "1.0.66", features = ["span-locations"] } +quote = "1.0.32" +ra_ap_paths = "=0.0.166" +ra_ap_proc_macro_api = "=0.0.166" +ra_ap_tt = "=0.0.166" rand = "0.8.5" rustminify = "0.1.0" -semver = { version = "1.0.6", features = ["serde"] } -serde = { version = "1.0.136", features = ["derive"] } -serde_json = "1.0.79" -smol_str = { version = "0.1.21", features = ["serde"] } -spdx = "0.6.0" +semver = { version = "1.0.18", features = ["serde"] } +serde = { version = "1.0.181", features = ["derive"] } +serde_json = "1.0.104" +spdx = "0.6.2" structopt = "0.3.26" -syn = { version = "1.0.89", features = ["extra-traits", "full", "parsing", "visit"] } -tempfile = "3.3.0" -termcolor = "1.1.3" +syn = { version = "1.0.109", features = ["extra-traits", "full", "parsing", "visit"] } +tap = "1.0.1" +tempfile = "3.7.0" +termcolor = "1.2.0" toml_edit = "0.5.0" -which = "4.2.5" +which = "4.4.0" [dev-dependencies] -assert_cmd = "2.0.4" -insta = "1.13.0" +assert_cmd = "2.0.12" +insta = "1.31.0" md5 = "0.7.0" -pretty_assertions = "1.2.0" +once_cell = "1.18.0" +pretty_assertions = "1.4.0" diff --git a/src/lib.rs b/src/lib.rs index cc62837..89ce55e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -29,13 +29,12 @@ use petgraph::{ }; use prettytable::{cell, format::FormatBuilder, row, Table}; use quote::quote; -use ra_ap_paths::{AbsPath, AbsPathBuf}; -use ra_ap_proc_macro_srv as proc_macro_srv; use std::{ cmp, collections::{BTreeMap, BTreeSet, HashMap, HashSet}, fmt::Debug, path::{Path, PathBuf}, + rc::Rc, str::FromStr, }; use structopt::{clap::AppSettings, StructOpt}; @@ -69,8 +68,6 @@ pub enum Opt { ) )] Equip(OptEquip), - #[structopt(setting(AppSettings::Hidden))] - RustAnalyzerProcMacro {}, } #[derive(StructOpt, Debug)] @@ -153,9 +150,17 @@ pub struct OptEquip { )] mine: Vec, + /// [Deprecated] Alias for `--toolchain-for-udeps` + #[structopt(long, value_name("TOOLCHAIN"), conflicts_with("toolchain_for_udeps"))] + toolchain: Option, + /// `nightly` toolchain for `cargo-udeps` #[structopt(long, value_name("TOOLCHAIN"), default_value("nightly"))] - toolchain: String, + toolchain_for_udeps: String, + + /// Toolchain for expanding procedural macros + #[structopt(long, value_name("TOOLCHAIN"))] + toolchain_for_proc_macro_srv: Option, /// Expand the libraries to the module #[structopt(long, value_name("MODULE_PATH"), default_value("crate::__cargo_equip"))] @@ -352,7 +357,6 @@ impl FromStr for Minify { pub struct Context<'a> { pub cwd: PathBuf, - pub cargo_equip_exe: AbsPathBuf, pub cache_dir: PathBuf, pub shell: &'a mut Shell, } @@ -411,11 +415,7 @@ static CODINGAME_CRATES: &[&str] = &[ ]; pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { - let opt = match opt { - Opt::Equip(opt) => opt, - Opt::RustAnalyzerProcMacro {} => return proc_macro_srv::cli::run().map_err(Into::into), - }; - let OptEquip { + let Opt::Equip(OptEquip { src, lib, bin, @@ -425,7 +425,9 @@ pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { exclude_atcoder_crates, exclude_codingame_crates, mine, - toolchain, + toolchain: deprecated_toolchain_opt, + toolchain_for_udeps, + toolchain_for_proc_macro_srv, mod_path: CrateSinglePath(cargo_equip_mod_name), remove, minify, @@ -437,7 +439,7 @@ pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { resolve_cfgs: deprecated_resolve_cfgs_flag, rustfmt: deprecated_rustfmt_flag, check: deprecated_check_flag, - } = opt; + }) = opt; let minify = match (minify, deprecated_oneline_opt) { (Minify::None, oneline) => oneline, @@ -455,13 +457,19 @@ pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { exclude }; + let toolchain_for_udeps = deprecated_toolchain_opt + .as_ref() + .unwrap_or(&toolchain_for_udeps); + let Context { cwd, - cargo_equip_exe, cache_dir, shell, } = ctx; + if deprecated_toolchain_opt.is_some() { + shell.warn("`--toolchain` was renamed to `--toolchain-for-udeps`")?; + } if deprecated_resolve_cfgs_flag { shell.warn("`--resolve-cfgs` is deprecated. `#[cfg(..)]`s are resolved by default")?; } @@ -496,7 +504,7 @@ pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { let unused_deps = &if root.is_lib() { hashset!() } else { - match cargo_udeps::cargo_udeps(root_package, root, &toolchain, shell) { + match cargo_udeps::cargo_udeps(root_package, root, toolchain_for_udeps, shell) { Ok(unused_deps) => unused_deps, Err(warning) => { shell.warn(warning)?; @@ -556,7 +564,7 @@ pub fn run(opt: Opt, ctx: Context<'_>) -> anyhow::Result<()> { &remove, minify, !no_rustfmt, - &cargo_equip_exe, + toolchain_for_proc_macro_srv.as_deref(), &cache_dir, shell, ) @@ -593,45 +601,60 @@ fn bundle( remove: &[Remove], minify: Minify, rustfmt: bool, - cargo_equip_exe: &AbsPath, + toolchain_for_proc_macro_srv: Option<&str>, cache_dir: &Path, shell: &mut Shell, ) -> anyhow::Result { let cargo_check_message_format_json = |toolchain: &str, shell: &mut Shell| -> _ { let (package, krate) = root_crate.split(); workspace::cargo_check_message_format_json(toolchain, metadata, package, krate, shell) + .map(Rc::new) }; - let cargo_messages_for_out_dirs = &libs_to_bundle - .keys() - .any(|p| metadata[p].has_custom_build()) - .then(|| { - let toolchain = &toolchain::active_toolchain(root_crate.package().manifest_dir())?; - cargo_check_message_format_json(toolchain, shell) - }) - .unwrap_or_else(|| Ok(vec![]))?; + let active_toolchain = &*toolchain::active_toolchain(root_crate.package().manifest_dir())?; + let toolchain_for_proc_macro_srv = toolchain_for_proc_macro_srv.unwrap_or(active_toolchain); + let has_custom_build = libs_to_bundle + .keys() + .any(|p| metadata[p].has_custom_build()); let has_proc_macro = libs_to_bundle.keys().any(|p| metadata[p].has_proc_macro()); - let cargo_messages_for_proc_macro_dll_paths = &has_proc_macro - .then(|| { - let toolchain = toolchain::find_toolchain_compatible_with_ra( + let (cargo_messages_for_out_dirs, cargo_messages_for_proc_macro_dll_paths) = + if has_custom_build && has_proc_macro && active_toolchain == toolchain_for_proc_macro_srv { + let cargo_messages = cargo_check_message_format_json(active_toolchain, shell)?; + (cargo_messages.clone(), Some(cargo_messages)) + } else { + let cargo_messages_for_out_dirs = has_custom_build + .then(|| cargo_check_message_format_json(active_toolchain, shell)) + .unwrap_or_else(|| Ok(Default::default()))?; + + let cargo_messages_for_proc_macro_dll_paths = has_proc_macro + .then(|| cargo_check_message_format_json(toolchain_for_proc_macro_srv, shell)) + .transpose()?; + + ( + cargo_messages_for_out_dirs, + cargo_messages_for_proc_macro_dll_paths, + ) + }; + + let out_dirs = workspace::list_out_dirs(metadata, &cargo_messages_for_out_dirs); + + let macro_expander = cargo_messages_for_proc_macro_dll_paths + .as_ref() + .map(|cargo_messages_for_proc_macro_dll_paths| { + let proc_macro_srv_exe = &toolchain::find_rust_analyzer_proc_macro_srv( root_crate.package().manifest_dir(), - shell, + toolchain_for_proc_macro_srv, )?; - let msgs = cargo_check_message_format_json(&toolchain, shell)?; - Ok::<_, anyhow::Error>(msgs) - }) - .unwrap_or_else(|| Ok(vec![]))?; - let out_dirs = workspace::list_out_dirs(metadata, cargo_messages_for_out_dirs); - let proc_macro_crate_dylibs = - &ra_proc_macro::list_proc_macro_dylibs(cargo_messages_for_proc_macro_dll_paths, |p| { - libs_to_bundle.contains_key(p) - }); + let proc_macro_crate_dylibs = &ra_proc_macro::list_proc_macro_dylibs( + cargo_messages_for_proc_macro_dll_paths, + |p| libs_to_bundle.contains_key(p), + ); - let macro_expander = has_proc_macro - .then(|| ProcMacroExpander::spawn(cargo_equip_exe, proc_macro_crate_dylibs)) + ProcMacroExpander::spawn(proc_macro_srv_exe, proc_macro_crate_dylibs) + }) .transpose()?; let proc_macro_names = macro_expander diff --git a/src/main.rs b/src/main.rs index 4164a67..197f4e2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,9 @@ #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] -use anyhow::{anyhow, Context as _}; +use anyhow::Context as _; use cargo_equip::{shell::Shell, Context, Opt}; -use ra_ap_paths::AbsPathBuf; -use std::{convert::TryFrom as _, env}; +use std::env; use structopt::{clap, StructOpt}; fn main() { @@ -15,13 +14,6 @@ fn main() { let ctx = Context { cwd: env::current_dir().with_context(|| "could not get the current direcotry")?, - cargo_equip_exe: env::current_exe() - .map_err(anyhow::Error::from) - .and_then(|p| { - AbsPathBuf::try_from(p) - .map_err(|p| anyhow!("`{}` is not an absolute path", p.display())) - }) - .with_context(|| "could not get the current executable")?, cache_dir: dirs_next::cache_dir() .with_context(|| "could not find the cache directory")? .join("cargo-equip"), diff --git a/src/ra_proc_macro.rs b/src/ra_proc_macro.rs index 8c7d8e0..87f4c4f 100644 --- a/src/ra_proc_macro.rs +++ b/src/ra_proc_macro.rs @@ -1,4 +1,4 @@ -use anyhow::{anyhow, bail, Context as _}; +use anyhow::{anyhow, Context as _}; use cargo_metadata as cm; use itertools::chain; use maplit::btreemap; @@ -7,8 +7,11 @@ use ra_ap_proc_macro_api::{ msg::PanicMessage, MacroDylib, ProcMacro, ProcMacroKind, ProcMacroServer, }; use ra_ap_tt::{self as tt, DelimiterKind, Leaf, TokenId}; +use semver::Version; use std::collections::{BTreeMap, BTreeSet}; +pub(crate) const MSRV: Version = Version::new(1, 64, 0); + pub(crate) fn list_proc_macro_dylibs bool>( cargo_messages: &[cm::Message], mut filter: P, @@ -43,25 +46,21 @@ pub struct ProcMacroExpander<'msg> { impl<'msg> ProcMacroExpander<'msg> { pub(crate) fn spawn( - cargo_equip_exe: &AbsPath, + proc_macro_srv_exe: &AbsPath, dylib_paths: &BTreeMap<&'msg cm::PackageId, &'msg AbsPath>, ) -> anyhow::Result { - let server = - ProcMacroServer::spawn(cargo_equip_exe.to_path_buf(), ["rust-analyzer-proc-macro"])?; + let server = ProcMacroServer::spawn(proc_macro_srv_exe.to_path_buf())?; let mut custom_derive = btreemap!(); let mut func_like = btreemap!(); let mut attr = btreemap!(); for (&package_id, dylib_path) in dylib_paths { - let result = MacroDylib::new(dylib_path.to_path_buf()) - .map_err(anyhow::Error::from) - .and_then(|d| server.load_dylib(d).map_err(|e| anyhow!("{}", e))) + let proc_macros = server + .load_dylib(MacroDylib::new(dylib_path.to_path_buf())) + .map_err(|e| anyhow!("{}", e)) .with_context(|| "rust-analyzer error")?; - let proc_macros = match result { - Ok(proc_macros) => proc_macros, - Err(err) => bail!("{}", err), - }; + for proc_macro in proc_macros { match proc_macro.kind() { ProcMacroKind::CustomDerive => &mut custom_derive, @@ -146,7 +145,7 @@ impl<'msg> ProcMacroExpander<'msg> { } } -fn from_proc_macro2_group(group: &proc_macro2::Group) -> tt::Subtree { +fn from_proc_macro2_group(group: &proc_macro2::Group) -> tt::Subtree { return tt::Subtree { delimiter: from_proc_macro2_delimiter(group.delimiter()), token_trees: group @@ -156,23 +155,20 @@ fn from_proc_macro2_group(group: &proc_macro2::Group) -> tt::Subtree { .collect(), }; - fn from_proc_macro2_delimiter(delimiter: proc_macro2::Delimiter) -> Option { - return match delimiter { - proc_macro2::Delimiter::Parenthesis => Some(from(DelimiterKind::Parenthesis)), - proc_macro2::Delimiter::Brace => Some(from(DelimiterKind::Brace)), - proc_macro2::Delimiter::Bracket => Some(from(DelimiterKind::Bracket)), - proc_macro2::Delimiter::None => None, - }; - - fn from(kind: DelimiterKind) -> tt::Delimiter { - tt::Delimiter { - id: TokenId::unspecified(), - kind, - } + fn from_proc_macro2_delimiter(delimiter: proc_macro2::Delimiter) -> tt::Delimiter { + tt::Delimiter { + open: TokenId::unspecified(), + close: TokenId::unspecified(), + kind: match delimiter { + proc_macro2::Delimiter::Parenthesis => DelimiterKind::Parenthesis, + proc_macro2::Delimiter::Brace => DelimiterKind::Brace, + proc_macro2::Delimiter::Bracket => DelimiterKind::Bracket, + proc_macro2::Delimiter::None => DelimiterKind::Invisible, + }, } } - fn from_proc_macro2_token_tree(tt: &proc_macro2::TokenTree) -> tt::TokenTree { + fn from_proc_macro2_token_tree(tt: &proc_macro2::TokenTree) -> tt::TokenTree { match tt { proc_macro2::TokenTree::Group(g) => from_proc_macro2_group(g).into(), proc_macro2::TokenTree::Ident(i) => Leaf::from(from_proc_macro2_ident(i)).into(), @@ -181,18 +177,18 @@ fn from_proc_macro2_group(group: &proc_macro2::Group) -> tt::Subtree { } } - fn from_proc_macro2_ident(ident: &proc_macro2::Ident) -> tt::Ident { + fn from_proc_macro2_ident(ident: &proc_macro2::Ident) -> tt::Ident { tt::Ident { text: ident.to_string().into(), - id: TokenId::unspecified(), + span: TokenId::unspecified(), } } - fn from_proc_macro2_punct(punct: &proc_macro2::Punct) -> tt::Punct { + fn from_proc_macro2_punct(punct: &proc_macro2::Punct) -> tt::Punct { tt::Punct { char: punct.as_char(), spacing: from_proc_macro2_spacing(punct.spacing()), - id: TokenId::unspecified(), + span: TokenId::unspecified(), } } @@ -203,30 +199,30 @@ fn from_proc_macro2_group(group: &proc_macro2::Group) -> tt::Subtree { } } - fn from_proc_macro2_literal(lit: &proc_macro2::Literal) -> tt::Literal { + fn from_proc_macro2_literal(lit: &proc_macro2::Literal) -> tt::Literal { tt::Literal { text: lit.to_string().into(), - id: TokenId::unspecified(), + span: TokenId::unspecified(), } } } -fn from_ra_subtree(subtree: &tt::Subtree) -> proc_macro2::Group { +fn from_ra_subtree(subtree: &tt::Subtree) -> proc_macro2::Group { return proc_macro2::Group::new( from_ra_delimiter(subtree.delimiter), subtree.token_trees.iter().map(from_ra_token_tree).collect(), ); - fn from_ra_delimiter(delimiter: Option) -> proc_macro2::Delimiter { - match delimiter.map(|tt::Delimiter { kind, .. }| kind) { - Some(DelimiterKind::Parenthesis) => proc_macro2::Delimiter::Parenthesis, - Some(DelimiterKind::Brace) => proc_macro2::Delimiter::Brace, - Some(DelimiterKind::Bracket) => proc_macro2::Delimiter::Bracket, - None => proc_macro2::Delimiter::None, + fn from_ra_delimiter(delimiter: tt::Delimiter) -> proc_macro2::Delimiter { + match delimiter.kind { + DelimiterKind::Parenthesis => proc_macro2::Delimiter::Parenthesis, + DelimiterKind::Brace => proc_macro2::Delimiter::Brace, + DelimiterKind::Bracket => proc_macro2::Delimiter::Bracket, + DelimiterKind::Invisible => proc_macro2::Delimiter::None, } } - fn from_ra_token_tree(tt: &tt::TokenTree) -> proc_macro2::TokenTree { + fn from_ra_token_tree(tt: &tt::TokenTree) -> proc_macro2::TokenTree { match tt { tt::TokenTree::Subtree(s) => proc_macro2::TokenTree::Group(from_ra_subtree(s)), tt::TokenTree::Leaf(Leaf::Ident(i)) => from_ra_ident(i).into(), @@ -235,11 +231,11 @@ fn from_ra_subtree(subtree: &tt::Subtree) -> proc_macro2::Group { } } - fn from_ra_ident(ident: &tt::Ident) -> proc_macro2::Ident { + fn from_ra_ident(ident: &tt::Ident) -> proc_macro2::Ident { proc_macro2::Ident::new(&ident.text, proc_macro2::Span::call_site()) } - fn from_ra_punct(punct: tt::Punct) -> proc_macro2::Punct { + fn from_ra_punct(punct: tt::Punct) -> proc_macro2::Punct { proc_macro2::Punct::new(punct.char, from_ra_spacing(punct.spacing)) } @@ -250,7 +246,7 @@ fn from_ra_subtree(subtree: &tt::Subtree) -> proc_macro2::Group { } } - fn from_ra_literal(lit: &tt::Literal) -> proc_macro2::Literal { + fn from_ra_literal(lit: &tt::Literal) -> proc_macro2::Literal { syn::parse_str(&lit.text) .unwrap_or_else(|e| panic!("could not parse {:?} as a literal: {}", &lit.text, e)) } diff --git a/src/toolchain.rs b/src/toolchain.rs index d4a312b..b3f5d7b 100644 --- a/src/toolchain.rs +++ b/src/toolchain.rs @@ -1,14 +1,14 @@ -use crate::{process::ProcessBuilderExt as _, shell::Shell}; -use anyhow::{anyhow, Context as _}; +use crate::process::ProcessBuilderExt as _; +use anyhow::{anyhow, ensure}; use camino::Utf8Path; use cargo_util::ProcessBuilder; -use once_cell::sync::Lazy; -use semver::{Version, VersionReq}; +use ra_ap_paths::AbsPathBuf; +use semver::Version; use std::{ - collections::BTreeMap, env, path::{Path, PathBuf}, }; +use tap::Pipe as _; pub(crate) fn rustup_exe(cwd: impl AsRef) -> anyhow::Result { which::which_in("rustup", env::var_os("PATH"), cwd).map_err(|_| anyhow!("`rustup` not found")) @@ -22,85 +22,49 @@ pub(crate) fn active_toolchain(manifest_dir: &Utf8Path) -> anyhow::Result anyhow::Result { - let rustup_exe = &rustup_exe(manifest_dir)?; - - let cargo_version = |toolchain| -> _ { - ProcessBuilder::new(rustup_exe) - .args(&["run", toolchain, "cargo", "-V"]) - .cwd(manifest_dir) - .read_stdout::() - .and_then(|o| extract_version(&o)) - }; - - let active_toolchain = active_toolchain(manifest_dir)?; - let active_version = cargo_version(&active_toolchain)?; - if GEQ_1_48_0.matches(&active_version) { - return Ok(active_toolchain); - } + toolchain: &str, +) -> anyhow::Result { + use crate::ra_proc_macro::MSRV; - let status = &mut |toolchain: &str| -> _ { - shell.status( - "Using", - format!("`{}` for compiling `proc-macro` crates", toolchain), - ) - }; + let rustup_exe = &rustup_exe(manifest_dir)?; - let output = ProcessBuilder::new(rustup_exe) - .args(&["toolchain", "list"]) + let version = ProcessBuilder::new(rustup_exe) + .args(&["run", toolchain, "rustc", "-V"]) .cwd(manifest_dir) - .read_stdout::()?; - let toolchains = output - .lines() - .map(|s| s.split_whitespace().next().unwrap()) - .collect::>(); + .read_stdout::()? + .pipe(|output| { + output + .split_ascii_whitespace() + .nth(1) + .and_then(|output| output.parse::().ok()) + .ok_or_else(|| anyhow!("Could not parse {output:?}")) + })?; - let compatible_toolchains = &mut output - .lines() - .map(|s| s.split_whitespace().next().unwrap()) - .flat_map(|toolchain| { - let version = toolchain.split('-').next().unwrap().parse().ok()?; - GEQ_1_48_0.matches(&version).then_some((version, toolchain)) - }) - .collect::>(); + ensure!( + version >= MSRV, + "Rust ≧{MSRV} is required for expanding procedural macros. Specify one with \ + `--toolchain-for-proc-macro-srv`", + ); - if let Some((_, toolchain)) = compatible_toolchains - .iter() - .next() - .filter(|(v, _)| v.to_string() == "1.48.0") - { - status(toolchain)?; - return Ok((*toolchain).to_owned()); - } + let rust_analyzer_proc_macro_srv = ProcessBuilder::new(rustup_exe) + .args(&["run", toolchain, "rustc", "--print", "sysroot"]) + .cwd(manifest_dir) + .read_stdout::()? + .pipe_deref(str::trim_end) + .pipe(Path::new) + .join("libexec") + .join("rust-analyzer-proc-macro-srv") + .with_extension(env::consts::EXE_EXTENSION) + .pipe(AbsPathBuf::assert); - for toolchain in toolchains { - if ["stable-", "beta-", "nightly-"] - .iter() - .any(|p| toolchain.starts_with(p)) - { - let version = cargo_version(toolchain)?; - if GEQ_1_48_0.matches(&version) { - compatible_toolchains.insert(version, toolchain); - } - } + if !Path::new(rust_analyzer_proc_macro_srv.as_os_str()).try_exists()? { + anyhow::bail!( + "{} does not exist. Run `rustup component add rust-analyzer --toolchain {toolchain}`", + Path::new(rust_analyzer_proc_macro_srv.as_os_str()).display(), + ); } - let (_, compatible_toolchain) = compatible_toolchains - .iter() - .next() - .with_context(|| format!("no toolchain found that satisfies {}", *GEQ_1_48_0))?; - status(compatible_toolchain)?; - return Ok((*compatible_toolchain).to_owned()); - - static GEQ_1_48_0: Lazy = Lazy::new(|| ">=1.48.0".parse().unwrap()); - - fn extract_version(output: &str) -> anyhow::Result { - output - .split_whitespace() - .find_map(|s| s.parse::().ok()) - .with_context(|| format!("could not parse {:?}", output)) - } + Ok(rust_analyzer_proc_macro_srv) } diff --git a/tests/md5-snapshots.rs b/tests/md5-snapshots.rs index d7cde8b..8df5dca 100644 --- a/tests/md5-snapshots.rs +++ b/tests/md5-snapshots.rs @@ -1,7 +1,6 @@ use cargo_equip::shell::Shell; use insta::assert_snapshot; use once_cell::sync::Lazy; -use ra_ap_paths::AbsPathBuf; use std::{ cell::RefCell, env, @@ -83,7 +82,6 @@ fn snapshot_test(name: &str, _: MutexGuard<'_, ()>) -> anyhow::Result { cwd: Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests") .join("solutions"), - cargo_equip_exe: AbsPathBuf::assert(env!("CARGO_BIN_EXE_cargo-equip").into()), cache_dir: Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests") .join("cache"), diff --git a/tests/snapshots/help_snapshot__long.snap b/tests/snapshots/help_snapshot__long.snap index d49e089..58387b7 100644 --- a/tests/snapshots/help_snapshot__long.snap +++ b/tests/snapshots/help_snapshot__long.snap @@ -1,7 +1,7 @@ --- source: tests/help-snapshot.rs +assertion_line: 7 expression: "run(\"--help\")?" - --- cargo-equip Ryo Yamashita @@ -18,27 +18,27 @@ USAGE: cargo equip [OPTIONS] --src OPTIONS: - --src + --src Bundle the lib/bin/example target and its dependencies. This option is intended to be used from editors such as VSCode. Use `--lib`, `--bin` or `--example` for normal usage. - --lib + --lib Bundle the library and its dependencies - --bin + --bin Bundle the binary and its dependencies - --example + --example Bundle the binary example and its dependencies - --manifest-path + --manifest-path Path to Cargo.toml - --exclude ... + --exclude ... Exclude library crates from bundling - --exclude-atcoder-crates + --exclude-atcoder-crates Alias for: --exclude https://github.com/rust-lang/crates.io-index#alga:0.9.3 https://github.com/rust-lang/crates.io-index#ascii:1.0.0 @@ -82,7 +82,7 @@ OPTIONS: https://github.com/rust-lang/crates.io-index#text_io:0.1.8 https://github.com/rust-lang/crates.io-index#whiteread:0.5.0 - --exclude-codingame-crates + --exclude-codingame-crates Alias for: --exclude https://github.com/rust-lang/crates.io-index#chrono:0.4.19 https://github.com/rust-lang/crates.io-index#itertools:0.10.0 @@ -91,20 +91,26 @@ OPTIONS: https://github.com/rust-lang/crates.io-index#regex:1.4.5 https://github.com/rust-lang/crates.io-index#time:0.2.26 - --mine ... + --mine ... Do not include license and copyright notices for the users. Supported formats: * github.com/{username} * gitlab.com/{username} - --toolchain + --toolchain + [Deprecated] Alias for `--toolchain-for-udeps` + + --toolchain-for-udeps `nightly` toolchain for `cargo-udeps` [default: nightly] - --mod-path + --toolchain-for-proc-macro-srv + Toolchain for expanding procedural macros + + --mod-path Expand the libraries to the module [default: crate::__cargo_equip] - --remove ... + --remove ... Removes * doc comments (`//! ..`, `/// ..`, `/** .. */`, `#[doc = ".."]`) with `--remove docs`. * comments (`// ..`, `/* .. */`) with `--remove comments`. @@ -128,41 +134,41 @@ OPTIONS: } ``` - --minify + --minify Minifies - each expaned library with `--minify lib`. - the whole code with `--minify all`. Not that the minification function is incomplete. Unnecessary spaces may be inserted. - --no-resolve-cfgs + --no-resolve-cfgs Do not resolve `cfg(..)`s - --no-rustfmt + --no-rustfmt Do not format the output before emitting - --no-check + --no-check Do not check the output before emitting - -o, --output + -o, --output Write to the file instead of STDOUT - --oneline + --oneline [Deprecated] Alias for `--minify` [default: none] [possible values: none, libs, all] - --resolve-cfgs + --resolve-cfgs [Deprecated] No-op - --rustfmt + --rustfmt [Deprecated] No-op - --check + --check [Deprecated] No-op - -h, --help + -h, --help Prints help information - -V, --version + -V, --version Prints version information diff --git a/tests/snapshots/help_snapshot__short.snap b/tests/snapshots/help_snapshot__short.snap index d67daea..45cbfb1 100644 --- a/tests/snapshots/help_snapshot__short.snap +++ b/tests/snapshots/help_snapshot__short.snap @@ -1,7 +1,7 @@ --- source: tests/help-snapshot.rs +assertion_line: 6 expression: "run(\"-h\")?" - --- cargo-equip Ryo Yamashita @@ -18,29 +18,33 @@ USAGE: cargo equip [OPTIONS] --src OPTIONS: - --src Bundle the lib/bin/example target and its dependencies - --lib Bundle the library and its dependencies - --bin Bundle the binary and its dependencies - --example Bundle the binary example and its dependencies - --manifest-path Path to Cargo.toml - --exclude ... Exclude library crates from bundling - --exclude-atcoder-crates Alias for `--exclude {crates available on AtCoder}` - --exclude-codingame-crates Alias for `--exclude {crates available on CodinGame}` - --mine ... Do not include license and copyright notices for the users - --toolchain `nightly` toolchain for `cargo-udeps` [default: nightly] - --mod-path Expand the libraries to the module [default: crate::__cargo_equip] - --remove ... Remove some part [possible values: docs, comments] - --minify Minify part of the output before emitting [default: none] [possible values: - none, libs, all] - --no-resolve-cfgs Do not resolve `cfg(..)`s - --no-rustfmt Do not format the output before emitting - --no-check Do not check the output before emitting - -o, --output Write to the file instead of STDOUT - --oneline [Deprecated] Alias for `--minify` [default: none] [possible values: none, - libs, all] - --resolve-cfgs [Deprecated] No-op - --rustfmt [Deprecated] No-op - --check [Deprecated] No-op - -h, --help Prints help information - -V, --version Prints version information + --src Bundle the lib/bin/example target and its dependencies + --lib Bundle the library and its dependencies + --bin Bundle the binary and its dependencies + --example Bundle the binary example and its dependencies + --manifest-path Path to Cargo.toml + --exclude ... Exclude library crates from bundling + --exclude-atcoder-crates Alias for `--exclude {crates available on AtCoder}` + --exclude-codingame-crates Alias for `--exclude {crates available on CodinGame}` + --mine ... Do not include license and copyright notices for the users + --toolchain [Deprecated] Alias for `--toolchain-for-udeps` + --toolchain-for-udeps `nightly` toolchain for `cargo-udeps` [default: nightly] + --toolchain-for-proc-macro-srv Toolchain for expanding procedural macros + --mod-path Expand the libraries to the module [default: crate::__cargo_equip] + --remove ... Remove some part [possible values: docs, comments] + --minify + Minify part of the output before emitting [default: none] [possible values: none, libs, all] + + --no-resolve-cfgs Do not resolve `cfg(..)`s + --no-rustfmt Do not format the output before emitting + --no-check Do not check the output before emitting + -o, --output Write to the file instead of STDOUT + --oneline + [Deprecated] Alias for `--minify` [default: none] [possible values: none, libs, all] + + --resolve-cfgs [Deprecated] No-op + --rustfmt [Deprecated] No-op + --check [Deprecated] No-op + -h, --help Prints help information + -V, --version Prints version information diff --git a/tests/snapshots/md5_snapshots__proconio_with_macro_use.snap b/tests/snapshots/md5_snapshots__proconio_with_macro_use.snap index 664e22c..47bf49a 100644 --- a/tests/snapshots/md5_snapshots__proconio_with_macro_use.snap +++ b/tests/snapshots/md5_snapshots__proconio_with_macro_use.snap @@ -1,6 +1,5 @@ --- source: tests/md5-snapshots.rs expression: output - --- -ba7f077d7cfb8f422c153fac025ad4a0 +3a15e5702a34bf6af2389b30239e9700 diff --git a/tests/snapshots/md5_snapshots__proconio_with_use.snap b/tests/snapshots/md5_snapshots__proconio_with_use.snap index 180024f..7b4e373 100644 --- a/tests/snapshots/md5_snapshots__proconio_with_use.snap +++ b/tests/snapshots/md5_snapshots__proconio_with_use.snap @@ -1,6 +1,5 @@ --- source: tests/md5-snapshots.rs expression: output - --- -d7ecfeca8e79566e0c2db5f9c7215245 +d98226c4ca4d09f9fe0917da90333b5a