diff --git a/Cargo.lock b/Cargo.lock index 788fd7f..3acf191 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,15 +19,15 @@ checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -107,12 +107,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" dependencies = [ "anstyle", - "once_cell", + "once_cell_polyfill", "windows-sys 0.59.0", ] @@ -185,9 +185,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.21" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cf008e5e1a9e9e22a7d3c9a4992e21a350290069e36d8fb72304ed17e8f2d2" +checksum = "b37fc50485c4f3f736a4fb14199f6d5f5ba008d7f28fe710306c92780f004c07" dependencies = [ "flate2", "futures-core", @@ -198,14 +198,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand", "futures-lite", + "pin-project-lite", "slab", ] @@ -293,7 +294,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -326,7 +327,7 @@ dependencies = [ "bufstream", "fast-socks5 0.8.2", "futures", - "hostname 0.3.1", + "hostname", "log", "nom", "pin-project", @@ -399,7 +400,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -416,7 +417,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -433,9 +434,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -480,9 +481,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "block-buffer" @@ -508,9 +509,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.11.3" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "regex-automata 0.4.9", @@ -579,10 +580,10 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673992d934f0711b68ebb3e1b79cdc4be31634b37c98f26867ced0438ca5c603" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -599,9 +600,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.16" +version = "1.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766" dependencies = [ "shlex", ] @@ -645,7 +646,7 @@ dependencies = [ "mailchecker", "md5", "pwned", - "rand", + "rand 0.8.5", "regex", "reqwest 0.11.27", "serde", @@ -655,9 +656,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -726,7 +727,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -929,9 +930,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -1019,12 +1020,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -1043,16 +1044,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1068,13 +1069,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1107,9 +1108,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "deadpool" @@ -1131,9 +1132,9 @@ checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -1199,23 +1200,23 @@ dependencies = [ [[package]] name = "dirs" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -1226,7 +1227,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1317,9 +1318,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1344,9 +1345,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -1404,9 +1405,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "flate2" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", "miniz_oxide", @@ -1543,7 +1544,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1603,9 +1604,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -1616,14 +1617,16 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -1675,7 +1678,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.8.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -1684,9 +1687,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" dependencies = [ "atomic-waker", "bytes", @@ -1694,7 +1697,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.8.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -1703,9 +1706,9 @@ dependencies = [ [[package]] name = "half" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", @@ -1729,9 +1732,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" [[package]] name = "headers" @@ -1783,9 +1786,9 @@ checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hermit-abi" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -1804,17 +1807,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "hostname" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" -dependencies = [ - "cfg-if", - "libc", - "windows", -] - [[package]] name = "html5ever" version = "0.31.0" @@ -1953,7 +1945,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", "tower-service", "tracing", @@ -1969,7 +1961,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.8", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -2044,9 +2036,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" dependencies = [ "bytes", "futures-channel", @@ -2054,8 +2046,9 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "libc", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.5.9", "tokio", "tower-service", "tracing", @@ -2063,14 +2056,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -2086,21 +2080,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -2109,31 +2104,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -2141,67 +2116,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -2232,9 +2194,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2269,12 +2231,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", "serde", ] @@ -2303,7 +2265,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.8", + "socket2 0.5.9", "widestring", "windows-sys 0.48.0", "winreg", @@ -2317,9 +2279,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" dependencies = [ "memchr", "serde", @@ -2331,7 +2293,7 @@ version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi 0.5.1", "libc", "windows-sys 0.59.0", ] @@ -2371,9 +2333,9 @@ checksum = "47f142fe24a9c9944451e8349de0a56af5f3e7226dc46f3ed4d4ecc0b85af75e" [[package]] name = "jiff" -version = "0.2.4" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d699bc6dfc879fb1bf9bdff0d4c56f0884fc6f0d0eb0fba397a6d00cd9a6b85e" +checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" dependencies = [ "jiff-static", "log", @@ -2384,13 +2346,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.4" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d16e75759ee0aa64c57a56acbf43916987b20c77373cb7e808979e02b93c9f9" +checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2441,9 +2403,9 @@ checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" [[package]] name = "libc" -version = "0.2.171" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libredox" @@ -2451,7 +2413,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "libc", ] @@ -2478,15 +2440,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "litrs" @@ -2522,6 +2484,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lychee" version = "0.18.1" @@ -2659,7 +2627,7 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2703,9 +2671,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -2727,7 +2695,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -2874,6 +2842,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "oorandom" version = "11.1.5" @@ -2882,11 +2856,11 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openssl" -version = "0.10.71" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2903,7 +2877,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2914,9 +2888,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" -version = "300.4.2+3.4.1" +version = "300.5.0+3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2" +checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" dependencies = [ "cc", ] @@ -3056,7 +3030,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand", + "rand 0.8.5", ] [[package]] @@ -3085,7 +3059,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3175,6 +3149,15 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -3187,7 +3170,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.23", + "zerocopy", ] [[package]] @@ -3264,14 +3247,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -3298,7 +3281,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "getopts", "memchr", "pulldown-cmark-escape", @@ -3328,31 +3311,34 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", "rustls", - "socket2 0.5.8", + "socket2 0.5.9", "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.1", "ring", "rustc-hash", "rustls", @@ -3366,14 +3352,14 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.10" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.8", + "socket2 0.5.9", "tracing", "windows-sys 0.59.0", ] @@ -3387,6 +3373,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.8.5" @@ -3394,8 +3386,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -3405,7 +3407,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3414,7 +3426,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -3439,22 +3460,22 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.10" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", ] [[package]] name = "redox_users" -version = "0.4.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] @@ -3562,7 +3583,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.4.8", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -3617,12 +3638,9 @@ dependencies = [ [[package]] name = "resolv-conf" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4" -dependencies = [ - "hostname 0.4.0", -] +checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "ring" @@ -3632,7 +3650,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -3664,7 +3682,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.100", + "syn 2.0.101", "unicode-ident", ] @@ -3695,7 +3713,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.4.15", @@ -3704,22 +3722,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.2" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "errno", "libc", - "linux-raw-sys 0.9.3", + "linux-raw-sys 0.9.4", "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.25" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "log", "once_cell", @@ -3762,18 +3780,19 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", + "zeroize", ] [[package]] name = "rustls-webpki" -version = "0.103.0" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -3782,9 +3801,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -3832,7 +3851,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -3845,7 +3864,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "core-foundation 0.10.0", "core-foundation-sys", "libc", @@ -3885,7 +3904,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3941,7 +3960,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.8.0", + "indexmap 2.9.0", "serde", "serde_derive", "serde_json", @@ -3955,10 +3974,10 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4013,9 +4032,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -4057,9 +4076,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" [[package]] name = "snafu" @@ -4079,7 +4098,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4094,9 +4113,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -4119,9 +4138,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "string_cache" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" dependencies = [ "new_debug_unreachable", "parking_lot", @@ -4173,7 +4192,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4204,9 +4223,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -4230,13 +4249,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4256,7 +4275,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -4302,7 +4321,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4312,9 +4331,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.3", "once_cell", - "rustix 1.0.2", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -4370,7 +4389,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4381,7 +4400,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4396,9 +4415,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.39" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -4411,15 +4430,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c97a5b985b7c11d7bc27fa927dc4fe6af3a6dfb021d28deb60d3bf51e76ef" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -4427,9 +4446,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -4473,7 +4492,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.8", + "socket2 0.5.9", "tokio-macros", "windows-sys 0.52.0", ] @@ -4486,7 +4505,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4534,9 +4553,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -4572,7 +4591,7 @@ version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", @@ -4605,11 +4624,11 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "bytes", "futures-util", "http 1.3.1", @@ -4654,7 +4673,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4698,7 +4717,7 @@ dependencies = [ "ipnet", "lazy_static", "log", - "rand", + "rand 0.8.5", "smallvec", "thiserror 1.0.69", "tinyvec", @@ -4748,7 +4767,7 @@ checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4826,12 +4845,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -4850,14 +4863,14 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ - "getrandom 0.3.1", + "getrandom 0.3.3", ] [[package]] name = "value-bag" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "vcpkg" @@ -4907,9 +4920,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -4936,7 +4949,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -4971,7 +4984,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5056,29 +5069,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.52.0" +name = "windows-core" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-core", - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings 0.4.2", ] [[package]] -name = "windows-core" -version = "0.52.0" +name = "windows-implement" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ - "windows-targets 0.52.6", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] name = "windows-link" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" [[package]] name = "windows-registry" @@ -5087,15 +5116,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", - "windows-strings", + "windows-strings 0.3.1", "windows-targets 0.53.0", ] [[package]] name = "windows-result" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] @@ -5109,6 +5138,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -5366,24 +5404,18 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "yansi" @@ -5393,9 +5425,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -5405,54 +5437,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" -dependencies = [ - "zerocopy-derive 0.8.23", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5472,7 +5484,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "synstructure", ] @@ -5483,10 +5495,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] -name = "zerovec" -version = "0.10.4" +name = "zerotrie" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -5495,11 +5518,11 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] diff --git a/benches/Cargo.toml b/benches/Cargo.toml index 617a05c..76d45ec 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -4,7 +4,7 @@ version = "0.0.0" authors = ["Matthias Endler "] license = "Apache-2.0/MIT" description = "Criterion benchmarks of the lychee crates" -edition = "2021" +edition = "2024" publish = false [dependencies] diff --git a/benches/src/extract.rs b/benches/src/extract.rs index 352a59c..a66033e 100644 --- a/benches/src/extract.rs +++ b/benches/src/extract.rs @@ -1,6 +1,6 @@ -use criterion::{black_box, criterion_group, criterion_main, Criterion}; -use lychee_lib::extract::Extractor; +use criterion::{Criterion, black_box, criterion_group, criterion_main}; use lychee_lib::InputContent; +use lychee_lib::extract::Extractor; use std::path::PathBuf; fn extract(paths: &[PathBuf]) { diff --git a/examples/builder/Cargo.toml b/examples/builder/Cargo.toml index f9a6b01..a6e4a9b 100644 --- a/examples/builder/Cargo.toml +++ b/examples/builder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "builder" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "builder" diff --git a/examples/builder/builder.rs b/examples/builder/builder.rs index 8ff9dd9..85367bf 100644 --- a/examples/builder/builder.rs +++ b/examples/builder/builder.rs @@ -1,5 +1,5 @@ -use http::header::{self, HeaderMap}; use http::StatusCode; +use http::header::{self, HeaderMap}; use lychee_lib::{ClientBuilder, Result}; use regex::RegexSet; use reqwest::Method; diff --git a/examples/chain/Cargo.toml b/examples/chain/Cargo.toml index 6bd1a62..2e7e54a 100644 --- a/examples/chain/Cargo.toml +++ b/examples/chain/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "chain" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "chain" diff --git a/examples/chain/chain.rs b/examples/chain/chain.rs index 57aa709..4a84cbf 100644 --- a/examples/chain/chain.rs +++ b/examples/chain/chain.rs @@ -1,5 +1,5 @@ use async_trait::async_trait; -use lychee_lib::{chain::RequestChain, ChainResult, ClientBuilder, Handler, Result, Status}; +use lychee_lib::{ChainResult, ClientBuilder, Handler, Result, Status, chain::RequestChain}; use reqwest::{Method, Request}; #[derive(Debug)] diff --git a/examples/client_pool/Cargo.toml b/examples/client_pool/Cargo.toml index 6426863..20fea98 100644 --- a/examples/client_pool/Cargo.toml +++ b/examples/client_pool/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "client_pool" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "client_pool" diff --git a/examples/collect_links/Cargo.toml b/examples/collect_links/Cargo.toml index c040570..4b1e867 100644 --- a/examples/collect_links/Cargo.toml +++ b/examples/collect_links/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "collect_links" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "collect_links" diff --git a/examples/extract/Cargo.toml b/examples/extract/Cargo.toml index b80795d..0b391e1 100644 --- a/examples/extract/Cargo.toml +++ b/examples/extract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "extract" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "extract" diff --git a/examples/extract/extract.rs b/examples/extract/extract.rs index 0090b8f..6c5b37a 100644 --- a/examples/extract/extract.rs +++ b/examples/extract/extract.rs @@ -1,5 +1,5 @@ -use lychee_lib::extract::Extractor; use lychee_lib::Result; +use lychee_lib::extract::Extractor; use lychee_lib::{FileType, InputContent}; use std::fs; diff --git a/examples/simple/Cargo.toml b/examples/simple/Cargo.toml index a9536e0..a7eda1c 100644 --- a/examples/simple/Cargo.toml +++ b/examples/simple/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "simple" version = "0.1.0" -edition = "2021" +edition = "2024" [[example]] name = "simple" diff --git a/lychee-bin/Cargo.toml b/lychee-bin/Cargo.toml index 40a766c..9b28239 100644 --- a/lychee-bin/Cargo.toml +++ b/lychee-bin/Cargo.toml @@ -4,13 +4,13 @@ authors = ["Matthias Endler "] description = "A fast, async link checker" documentation = "https://docs.rs/lychee" homepage = "https://github.com/lycheeverse/lychee" -edition = "2021" +edition = "2024" keywords = ["link", "checker", "cli", "link-checker", "validator"] license = "Apache-2.0 OR MIT" repository = "https://github.com/lycheeverse/lychee" readme = "../README.md" version.workspace = true -rust-version = "1.83.0" +rust-version = "1.85.0" [dependencies] # NOTE: We need to specify the version of lychee-lib here because crates.io diff --git a/lychee-bin/src/archive/mod.rs b/lychee-bin/src/archive/mod.rs index 91391e6..98e41bf 100644 --- a/lychee-bin/src/archive/mod.rs +++ b/lychee-bin/src/archive/mod.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use std::{fmt::Display, time::Duration}; use strum::{Display, EnumIter, EnumString, VariantNames}; -use crate::color::{color, GREEN, PINK}; +use crate::color::{GREEN, PINK, color}; mod wayback; diff --git a/lychee-bin/src/cache.rs b/lychee-bin/src/cache.rs index c7f98a6..4e872d4 100644 --- a/lychee-bin/src/cache.rs +++ b/lychee-bin/src/cache.rs @@ -1,4 +1,4 @@ -use crate::time::{self, timestamp, Timestamp}; +use crate::time::{self, Timestamp, timestamp}; use anyhow::Result; use dashmap::DashMap; use lychee_lib::{CacheStatus, Status, Uri}; diff --git a/lychee-bin/src/commands/check.rs b/lychee-bin/src/commands/check.rs index 4cb4746..05c9359 100644 --- a/lychee-bin/src/commands/check.rs +++ b/lychee-bin/src/commands/check.rs @@ -20,7 +20,7 @@ use crate::formatters::response::ResponseFormatter; use crate::options::OutputMode; use crate::parse::parse_duration_secs; use crate::verbosity::Verbosity; -use crate::{cache::Cache, stats::ResponseStats, ExitCode}; +use crate::{ExitCode, cache::Cache, stats::ResponseStats}; use super::CommandParams; diff --git a/lychee-bin/src/commands/dump.rs b/lychee-bin/src/commands/dump.rs index 5dd797b..33343a3 100644 --- a/lychee-bin/src/commands/dump.rs +++ b/lychee-bin/src/commands/dump.rs @@ -6,8 +6,8 @@ use std::io::{self, Write}; use std::path::PathBuf; use tokio_stream::StreamExt; -use crate::verbosity::Verbosity; use crate::ExitCode; +use crate::verbosity::Verbosity; use super::CommandParams; diff --git a/lychee-bin/src/formatters/response/color.rs b/lychee-bin/src/formatters/response/color.rs index 7ebeb0f..57cc7c1 100644 --- a/lychee-bin/src/formatters/response/color.rs +++ b/lychee-bin/src/formatters/response/color.rs @@ -2,7 +2,7 @@ use lychee_lib::{CacheStatus, ResponseBody, Status}; use crate::formatters::color::{DIM, GREEN, NORMAL, PINK, YELLOW}; -use super::{ResponseFormatter, MAX_RESPONSE_OUTPUT_WIDTH}; +use super::{MAX_RESPONSE_OUTPUT_WIDTH, ResponseFormatter}; /// A colorized formatter for the response body /// diff --git a/lychee-bin/src/formatters/response/emoji.rs b/lychee-bin/src/formatters/response/emoji.rs index 7d5daeb..7bc6134 100644 --- a/lychee-bin/src/formatters/response/emoji.rs +++ b/lychee-bin/src/formatters/response/emoji.rs @@ -115,8 +115,10 @@ mod emoji_tests { ); // Just assert the output contains the string - assert!(formatter - .format_detailed_response(&body) - .ends_with("| URL is missing a host")); + assert!( + formatter + .format_detailed_response(&body) + .ends_with("| URL is missing a host") + ); } } diff --git a/lychee-bin/src/formatters/stats/compact.rs b/lychee-bin/src/formatters/stats/compact.rs index c7c5d39..980ad25 100644 --- a/lychee-bin/src/formatters/stats/compact.rs +++ b/lychee-bin/src/formatters/stats/compact.rs @@ -6,7 +6,7 @@ use std::{ time::Duration, }; -use crate::formatters::color::{color, BOLD_GREEN, BOLD_PINK, BOLD_YELLOW, DIM, NORMAL}; +use crate::formatters::color::{BOLD_GREEN, BOLD_PINK, BOLD_YELLOW, DIM, NORMAL, color}; use crate::{formatters::get_response_formatter, options, stats::ResponseStats}; use super::StatsFormatter; @@ -185,8 +185,10 @@ mod tests { assert!(result.contains("🚫 2 Errors")); assert!(result.contains("[https://example.com/]:")); - assert!(result - .contains("https://github.com/mre/idiomatic-rust-doesnt-exist-man | 404 Not Found")); + assert!( + result + .contains("https://github.com/mre/idiomatic-rust-doesnt-exist-man | 404 Not Found") + ); assert!(result.contains("https://github.com/mre/boom | 500 Internal Server Error")); } } diff --git a/lychee-bin/src/formatters/stats/detailed.rs b/lychee-bin/src/formatters/stats/detailed.rs index 746ba1d..b33e83c 100644 --- a/lychee-bin/src/formatters/stats/detailed.rs +++ b/lychee-bin/src/formatters/stats/detailed.rs @@ -157,8 +157,10 @@ mod tests { assert!(result.contains("❓ Unknown..........0")); assert!(result.contains("🚫 Errors...........2")); assert!(result.contains("Errors in https://example.com/")); - assert!(result - .contains("https://github.com/mre/idiomatic-rust-doesnt-exist-man | 404 Not Found")); + assert!( + result + .contains("https://github.com/mre/idiomatic-rust-doesnt-exist-man | 404 Not Found") + ); assert!(result.contains("https://github.com/mre/boom | 500 Internal Server Error")); } } diff --git a/lychee-bin/src/formatters/stats/markdown.rs b/lychee-bin/src/formatters/stats/markdown.rs index df7f2c1..1461ca3 100644 --- a/lychee-bin/src/formatters/stats/markdown.rs +++ b/lychee-bin/src/formatters/stats/markdown.rs @@ -9,8 +9,8 @@ use http::StatusCode; use lychee_lib::{InputSource, ResponseBody, Status}; use std::fmt::Write; use tabled::{ - settings::{object::Segment, Alignment, Modify, Style}, Table, Tabled, + settings::{Alignment, Modify, Style, object::Segment}, }; use crate::stats::ResponseStats; diff --git a/lychee-bin/src/main.rs b/lychee-bin/src/main.rs index c9966d4..c7810d5 100644 --- a/lychee-bin/src/main.rs +++ b/lychee-bin/src/main.rs @@ -63,7 +63,7 @@ use std::io::{self, BufRead, BufReader, ErrorKind, Write}; use std::path::PathBuf; use std::sync::Arc; -use anyhow::{bail, Context, Error, Result}; +use anyhow::{Context, Error, Result, bail}; use clap::Parser; use commands::CommandParams; use formatters::{get_stats_formatter, log::init_logging}; @@ -95,7 +95,7 @@ use crate::formatters::duration::Duration; use crate::{ cache::{Cache, StoreExt}, formatters::stats::StatsFormatter, - options::{Config, LycheeOptions, LYCHEE_CACHE_FILE, LYCHEE_IGNORE_FILE}, + options::{Config, LYCHEE_CACHE_FILE, LYCHEE_IGNORE_FILE, LycheeOptions}, }; /// A C-like enum that can be cast to `i32` and used as process exit code. @@ -169,7 +169,9 @@ fn load_config() -> Result { // TODO: Remove this warning and the parameter with 1.0 if !&opts.config.exclude_file.is_empty() { - warn!("WARNING: `--exclude-file` is deprecated and will soon be removed; use the `{LYCHEE_IGNORE_FILE}` file to ignore URL patterns instead. To exclude paths of files and directories, use `--exclude-path`."); + warn!( + "WARNING: `--exclude-file` is deprecated and will soon be removed; use the `{LYCHEE_IGNORE_FILE}` file to ignore URL patterns instead. To exclude paths of files and directories, use `--exclude-path`." + ); } // TODO: Remove this warning and the parameter with 1.0 @@ -296,7 +298,9 @@ async fn run(opts: &LycheeOptions) -> Result { (Some(base), None) => Some(base), (None, Some(base_url)) => Some(base_url), (Some(_base), Some(base_url)) => { - warn!("WARNING: Both, `--base` and `--base-url` are set. Using `base-url` and ignoring `--base` (as it's deprecated)."); + warn!( + "WARNING: Both, `--base` and `--base-url` are set. Using `base-url` and ignoring `--base` (as it's deprecated)." + ); Some(base_url) } }; @@ -383,7 +387,9 @@ async fn run(opts: &LycheeOptions) -> Result { } if github_issues && opts.config.github_token.is_none() { - warn!("There were issues with GitHub URLs. You could try setting a GitHub token and running lychee again.",); + warn!( + "There were issues with GitHub URLs. You could try setting a GitHub token and running lychee again.", + ); } if opts.config.cache { diff --git a/lychee-bin/src/options.rs b/lychee-bin/src/options.rs index 5d99782..630573a 100644 --- a/lychee-bin/src/options.rs +++ b/lychee-bin/src/options.rs @@ -1,18 +1,18 @@ use crate::archive::Archive; use crate::parse::parse_base; use crate::verbosity::Verbosity; -use anyhow::{anyhow, Context, Error, Result}; +use anyhow::{Context, Error, Result, anyhow}; use clap::builder::PossibleValuesParser; -use clap::{arg, builder::TypedValueParser, Parser}; +use clap::{Parser, arg, builder::TypedValueParser}; use const_format::{concatcp, formatcp}; use http::{ - header::{HeaderName, HeaderValue}, HeaderMap, + header::{HeaderName, HeaderValue}, }; use lychee_lib::{ - Base, BasicAuthSelector, FileExtensions, FileType, Input, StatusCodeExcluder, - StatusCodeSelector, DEFAULT_MAX_REDIRECTS, DEFAULT_MAX_RETRIES, DEFAULT_RETRY_WAIT_TIME_SECS, - DEFAULT_TIMEOUT_SECS, DEFAULT_USER_AGENT, + Base, BasicAuthSelector, DEFAULT_MAX_REDIRECTS, DEFAULT_MAX_RETRIES, + DEFAULT_RETRY_WAIT_TIME_SECS, DEFAULT_TIMEOUT_SECS, DEFAULT_USER_AGENT, FileExtensions, + FileType, Input, StatusCodeExcluder, StatusCodeSelector, }; use reqwest::tls; use secrecy::{ExposeSecret, SecretString}; diff --git a/lychee-bin/src/parse.rs b/lychee-bin/src/parse.rs index 0f2b737..5ecf433 100644 --- a/lychee-bin/src/parse.rs +++ b/lychee-bin/src/parse.rs @@ -1,5 +1,5 @@ use anyhow::{Context, Result}; -use lychee_lib::{remap::Remaps, Base}; +use lychee_lib::{Base, remap::Remaps}; use std::time::Duration; /// Parse seconds into a `Duration` diff --git a/lychee-bin/src/verbosity.rs b/lychee-bin/src/verbosity.rs index 8d6d09d..e526e3d 100644 --- a/lychee-bin/src/verbosity.rs +++ b/lychee-bin/src/verbosity.rs @@ -108,7 +108,7 @@ impl<'de> Deserialize<'de> for Verbosity { level => { return Err(serde::de::Error::custom(format!( "invalid log level `{level}`" - ))) + ))); } }; Ok(Verbosity { diff --git a/lychee-bin/tests/cli.rs b/lychee-bin/tests/cli.rs index b5cc108..44f6ecf 100644 --- a/lychee-bin/tests/cli.rs +++ b/lychee-bin/tests/cli.rs @@ -15,7 +15,7 @@ mod cli { use http::{Method, StatusCode}; use lychee_lib::{InputSource, ResponseBody}; use predicates::{ - prelude::{predicate, PredicateBooleanExt}, + prelude::{PredicateBooleanExt, predicate}, str::{contains, is_empty}, }; use pretty_assertions::assert_eq; @@ -24,7 +24,7 @@ mod cli { use serde_json::Value; use tempfile::NamedTempFile; use uuid::Uuid; - use wiremock::{matchers::basic_auth, Mock, ResponseTemplate}; + use wiremock::{Mock, ResponseTemplate, matchers::basic_auth}; type Result = std::result::Result>; diff --git a/lychee-lib/Cargo.toml b/lychee-lib/Cargo.toml index ca327a3..d9f6384 100644 --- a/lychee-lib/Cargo.toml +++ b/lychee-lib/Cargo.toml @@ -3,14 +3,14 @@ name = "lychee-lib" authors = ["Matthias Endler "] description = "A fast, async link checker" documentation = "https://docs.rs/lychee_lib" -edition = "2021" +edition = "2024" homepage = "https://github.com/lycheeverse/lychee" keywords = ["link", "checker", "cli", "link-checker", "validator"] license = "Apache-2.0 OR MIT" repository = "https://github.com/lycheeverse/lychee" readme = "../README.md" version.workspace = true -rust-version = "1.83.0" +rust-version = "1.85.0" [dependencies] async-stream = "0.3.6" diff --git a/lychee-lib/src/checker/file.rs b/lychee-lib/src/checker/file.rs index 8327067..5ddebb9 100644 --- a/lychee-lib/src/checker/file.rs +++ b/lychee-lib/src/checker/file.rs @@ -3,8 +3,8 @@ use log::warn; use std::path::{Path, PathBuf}; use crate::{ - utils::fragment_checker::{FragmentChecker, FragmentInput}, Base, ErrorKind, Status, Uri, + utils::fragment_checker::{FragmentChecker, FragmentInput}, }; /// A utility for checking the existence and validity of file-based URIs. diff --git a/lychee-lib/src/checker/mail.rs b/lychee-lib/src/checker/mail.rs index e7dcef7..192f64f 100644 --- a/lychee-lib/src/checker/mail.rs +++ b/lychee-lib/src/checker/mail.rs @@ -7,7 +7,7 @@ use crate::ErrorKind; use crate::{Status, Uri}; #[cfg(all(feature = "email-check", feature = "native-tls"))] -use check_if_email_exists::{check_email, CheckEmailInput, Reachable}; +use check_if_email_exists::{CheckEmailInput, Reachable, check_email}; #[cfg(all(feature = "email-check", feature = "native-tls"))] use crate::types::mail; diff --git a/lychee-lib/src/checker/website.rs b/lychee-lib/src/checker/website.rs index fc72850..60a92f0 100644 --- a/lychee-lib/src/checker/website.rs +++ b/lychee-lib/src/checker/website.rs @@ -1,10 +1,10 @@ use crate::{ + BasicAuthCredentials, ErrorKind, Status, Uri, chain::{Chain, ChainResult, ClientRequestChains, Handler, RequestChain}, quirks::Quirks, retry::RetryExt, types::uri::github::GithubUri, utils::fragment_checker::{FragmentChecker, FragmentInput}, - BasicAuthCredentials, ErrorKind, Status, Uri, }; use async_trait::async_trait; use http::{Method, StatusCode}; diff --git a/lychee-lib/src/client.rs b/lychee-lib/src/client.rs index f80259c..4c9100b 100644 --- a/lychee-lib/src/client.rs +++ b/lychee-lib/src/client.rs @@ -16,8 +16,8 @@ use std::{collections::HashSet, sync::Arc, time::Duration}; use http::{ - header::{HeaderMap, HeaderValue}, StatusCode, + header::{HeaderMap, HeaderValue}, }; use log::debug; use octocrab::Octocrab; @@ -28,11 +28,11 @@ use secrecy::{ExposeSecret, SecretString}; use typed_builder::TypedBuilder; use crate::{ + Base, BasicAuthCredentials, ErrorKind, Request, Response, Result, Status, Uri, chain::RequestChain, checker::{file::FileChecker, mail::MailChecker, website::WebsiteChecker}, filter::{Excludes, Filter, Includes}, remap::Remaps, - Base, BasicAuthCredentials, ErrorKind, Request, Response, Result, Status, Uri, }; /// Default number of redirects before a request is deemed as failed, 5. @@ -561,17 +561,17 @@ mod tests { }; use async_trait::async_trait; - use http::{header::HeaderMap, StatusCode}; + use http::{StatusCode, header::HeaderMap}; use reqwest::header; use tempfile::tempdir; use wiremock::matchers::path; use super::ClientBuilder; use crate::{ + ErrorKind, Request, Status, Uri, chain::{ChainResult, Handler, RequestChain}, mock_server, test_utils::get_mock_client_response, - ErrorKind, Request, Status, Uri, }; #[tokio::test] diff --git a/lychee-lib/src/collector.rs b/lychee-lib/src/collector.rs index abe681c..935220c 100644 --- a/lychee-lib/src/collector.rs +++ b/lychee-lib/src/collector.rs @@ -1,13 +1,13 @@ use crate::ErrorKind; use crate::InputSource; use crate::{ - basic_auth::BasicAuthExtractor, extract::Extractor, types::uri::raw::RawUri, - types::FileExtensions, utils::request, Base, Input, Request, Result, + Base, Input, Request, Result, basic_auth::BasicAuthExtractor, extract::Extractor, + types::FileExtensions, types::uri::raw::RawUri, utils::request, }; use futures::TryStreamExt; use futures::{ - stream::{self, Stream}, StreamExt, + stream::{self, Stream}, }; use par_stream::ParStreamExt; use std::path::PathBuf; @@ -186,10 +186,9 @@ mod tests { use super::*; use crate::{ - mock_server, + Result, Uri, mock_server, test_utils::{load_fixture, mail, path, website}, types::{FileType, Input, InputSource}, - Result, Uri, }; // Helper function to run the collector on the given inputs diff --git a/lychee-lib/src/extract/html/html5ever.rs b/lychee-lib/src/extract/html/html5ever.rs index 1d30888..78925a3 100644 --- a/lychee-lib/src/extract/html/html5ever.rs +++ b/lychee-lib/src/extract/html/html5ever.rs @@ -169,7 +169,7 @@ impl LinkExtractor { attr_name: &str, elem_name: &str, attr_value: &'a str, - ) -> Option> { + ) -> Option + use<'a>> { // For a comprehensive list of elements that might contain URLs/URIs // see https://www.w3.org/TR/REC-html40/index/attributes.html // and https://html.spec.whatwg.org/multipage/indices.html#attributes-1 diff --git a/lychee-lib/src/extract/html/html5gum.rs b/lychee-lib/src/extract/html/html5gum.rs index 441e196..8ff13d9 100644 --- a/lychee-lib/src/extract/html/html5gum.rs +++ b/lychee-lib/src/extract/html/html5gum.rs @@ -279,13 +279,11 @@ impl Emitter for &mut LinkExtractor { fn emit_current_tag(&mut self) -> Option { self.flush_links(); - let next_state = if self.current_element.is_closing { + if self.current_element.is_closing { None } else { html5gum::naive_next_state(self.current_element.name.as_bytes()) - }; - - next_state + } } fn emit_current_doctype(&mut self) {} diff --git a/lychee-lib/src/extract/html/srcset.rs b/lychee-lib/src/extract/html/srcset.rs index 08a25cd..e557a71 100644 --- a/lychee-lib/src/extract/html/srcset.rs +++ b/lychee-lib/src/extract/html/srcset.rs @@ -208,7 +208,9 @@ mod tests { #[test] fn test_parse_srcset_with_commas() { assert_eq!( - parse("/cdn-cgi/image/format=webp,width=640/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg 640w, /cdn-cgi/image/format=webp,width=750/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg 750w"), + parse( + "/cdn-cgi/image/format=webp,width=640/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg 640w, /cdn-cgi/image/format=webp,width=750/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg 750w" + ), vec![ "/cdn-cgi/image/format=webp,width=640/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg", "/cdn-cgi/image/format=webp,width=750/https://img.youtube.com/vi/hVBl8_pgQf0/maxresdefault.jpg" diff --git a/lychee-lib/src/extract/mod.rs b/lychee-lib/src/extract/mod.rs index c01e084..91b4807 100644 --- a/lychee-lib/src/extract/mod.rs +++ b/lychee-lib/src/extract/mod.rs @@ -1,4 +1,4 @@ -use crate::types::{uri::raw::RawUri, FileType, InputContent}; +use crate::types::{FileType, InputContent, uri::raw::RawUri}; pub mod html; pub mod markdown; @@ -63,10 +63,10 @@ mod tests { use super::*; use crate::{ + Uri, test_utils::{load_fixture, mail, website}, types::{FileType, InputContent, InputSource}, utils::url::find_links, - Uri, }; fn extract_uris(input: &str, file_type: FileType) -> HashSet { diff --git a/lychee-lib/src/filter/mod.rs b/lychee-lib/src/filter/mod.rs index ed0dcfe..0b04235 100644 --- a/lychee-lib/src/filter/mod.rs +++ b/lychee-lib/src/filter/mod.rs @@ -259,8 +259,8 @@ mod tests { use super::{Excludes, Filter, Includes}; use crate::{ - test_utils::{mail, website}, Uri, + test_utils::{mail, website}, }; // Note: the standard library, as of Rust stable 1.47.0, does not expose diff --git a/lychee-lib/src/lib.rs b/lychee-lib/src/lib.rs index bbaca06..7fa0007 100644 --- a/lychee-lib/src/lib.rs +++ b/lychee-lib/src/lib.rs @@ -90,15 +90,15 @@ pub use crate::{ chain::{ChainResult, Handler}, // Constants get exposed so that the CLI can use the same defaults as the library client::{ - check, Client, ClientBuilder, DEFAULT_MAX_REDIRECTS, DEFAULT_MAX_RETRIES, - DEFAULT_RETRY_WAIT_TIME_SECS, DEFAULT_TIMEOUT_SECS, DEFAULT_USER_AGENT, + Client, ClientBuilder, DEFAULT_MAX_REDIRECTS, DEFAULT_MAX_RETRIES, + DEFAULT_RETRY_WAIT_TIME_SECS, DEFAULT_TIMEOUT_SECS, DEFAULT_USER_AGENT, check, }, collector::Collector, filter::{Excludes, Filter, Includes}, types::{ - uri::valid::Uri, AcceptRange, AcceptRangeError, Base, BasicAuthCredentials, - BasicAuthSelector, CacheStatus, CookieJar, ErrorKind, FileExtensions, FileType, Input, - InputContent, InputSource, Request, Response, ResponseBody, Result, Status, - StatusCodeExcluder, StatusCodeSelector, + AcceptRange, AcceptRangeError, Base, BasicAuthCredentials, BasicAuthSelector, CacheStatus, + CookieJar, ErrorKind, FileExtensions, FileType, Input, InputContent, InputSource, Request, + Response, ResponseBody, Result, Status, StatusCodeExcluder, StatusCodeSelector, + uri::valid::Uri, }, }; diff --git a/lychee-lib/src/quirks/mod.rs b/lychee-lib/src/quirks/mod.rs index e989732..a712aab 100644 --- a/lychee-lib/src/quirks/mod.rs +++ b/lychee-lib/src/quirks/mod.rs @@ -1,6 +1,6 @@ use crate::{ - chain::{ChainResult, Handler}, Status, + chain::{ChainResult, Handler}, }; use async_trait::async_trait; use header::HeaderValue; @@ -108,7 +108,7 @@ impl Handler for Quirks { #[cfg(test)] mod tests { use header::HeaderValue; - use http::{header, Method}; + use http::{Method, header}; use reqwest::{Request, Url}; use super::Quirks; diff --git a/lychee-lib/src/remap.rs b/lychee-lib/src/remap.rs index ac8212e..689bf59 100644 --- a/lychee-lib/src/remap.rs +++ b/lychee-lib/src/remap.rs @@ -114,9 +114,9 @@ impl TryFrom<&[String]> for Remaps { for remap in remaps { let params: Vec<_> = remap.split_whitespace().collect(); if params.len() != 2 { - return Err(ErrorKind::InvalidUrlRemap( - format!("Cannot parse into URI remapping, must be a Regex pattern and a URL separated by whitespaces: {remap}" - ))); + return Err(ErrorKind::InvalidUrlRemap(format!( + "Cannot parse into URI remapping, must be a Regex pattern and a URL separated by whitespaces: {remap}" + ))); } let pattern = Regex::new(params[0])?; diff --git a/lychee-lib/src/types/basic_auth/credentials.rs b/lychee-lib/src/types/basic_auth/credentials.rs index 1af0144..5435dc6 100644 --- a/lychee-lib/src/types/basic_auth/credentials.rs +++ b/lychee-lib/src/types/basic_auth/credentials.rs @@ -2,14 +2,14 @@ use async_trait::async_trait; use std::str::FromStr; use headers::authorization::Credentials; -use headers::{authorization::Basic, Authorization}; +use headers::{Authorization, authorization::Basic}; use http::header::AUTHORIZATION; use reqwest::Request; use serde::Deserialize; use thiserror::Error; -use crate::chain::{ChainResult, Handler}; use crate::Status; +use crate::chain::{ChainResult, Handler}; #[derive(Copy, Clone, Debug, Error, PartialEq)] pub enum BasicAuthCredentialsParseError { @@ -22,7 +22,9 @@ pub enum BasicAuthCredentialsParseError { #[error("Missing basic auth username")] MissingUsername, - #[error("Too many values separated by colon. Expected 2, got {0}. Valid form is ':'")] + #[error( + "Too many values separated by colon. Expected 2, got {0}. Valid form is ':'" + )] TooManyParts(usize), } diff --git a/lychee-lib/src/types/basic_auth/selector.rs b/lychee-lib/src/types/basic_auth/selector.rs index 25de9de..701d196 100644 --- a/lychee-lib/src/types/basic_auth/selector.rs +++ b/lychee-lib/src/types/basic_auth/selector.rs @@ -3,7 +3,7 @@ use std::str::FromStr; use serde_with::DeserializeFromStr; use thiserror::Error; -use crate::{types::basic_auth::BasicAuthCredentialsParseError, BasicAuthCredentials}; +use crate::{BasicAuthCredentials, types::basic_auth::BasicAuthCredentialsParseError}; #[derive(Clone, Debug, Error, PartialEq)] pub enum BasicAuthSelectorParseError { @@ -13,7 +13,9 @@ pub enum BasicAuthSelectorParseError { #[error("Missing basic auth credentials or URI. Valid form is ' :'")] InvalidSyntax, - #[error("Too many space separated values. Expected 2, got {0}. Valid form is ' :'")] + #[error( + "Too many space separated values. Expected 2, got {0}. Valid form is ' :'" + )] TooManyParts(usize), #[error("Basic auth credentials error")] diff --git a/lychee-lib/src/types/cache.rs b/lychee-lib/src/types/cache.rs index 39f8cac..03b289d 100644 --- a/lychee-lib/src/types/cache.rs +++ b/lychee-lib/src/types/cache.rs @@ -90,8 +90,8 @@ impl From<&Status> for CacheStatus { #[cfg(test)] mod tests { - use serde::de::value::{BorrowedStrDeserializer, Error as DeserializerError}; use serde::Deserialize; + use serde::de::value::{BorrowedStrDeserializer, Error as DeserializerError}; use crate::CacheStatus; diff --git a/lychee-lib/src/types/error.rs b/lychee-lib/src/types/error.rs index cbcfefe..9dbd28c 100644 --- a/lychee-lib/src/types/error.rs +++ b/lychee-lib/src/types/error.rs @@ -7,7 +7,7 @@ use tokio::task::JoinError; use super::InputContent; use crate::types::StatusCodeSelectorError; -use crate::{basic_auth::BasicAuthExtractorError, utils, Uri}; +use crate::{Uri, basic_auth::BasicAuthExtractorError, utils}; /// Kinds of status errors /// Note: The error messages can change over time, so don't match on the output @@ -119,7 +119,9 @@ pub enum ErrorKind { InvalidGlobPattern(#[from] glob::PatternError), /// The GitHub API could not be called because of a missing GitHub token. - #[error("GitHub token not specified. To check GitHub links reliably, use `--github-token` flag / `GITHUB_TOKEN` env var.")] + #[error( + "GitHub token not specified. To check GitHub links reliably, use `--github-token` flag / `GITHUB_TOKEN` env var." + )] MissingGitHubToken, /// Used an insecure URI where a secure variant was reachable diff --git a/lychee-lib/src/types/input.rs b/lychee-lib/src/types/input.rs index 91d8176..7e02b84 100644 --- a/lychee-lib/src/types/input.rs +++ b/lychee-lib/src/types/input.rs @@ -1,5 +1,5 @@ use crate::types::FileType; -use crate::{utils, ErrorKind, Result}; +use crate::{ErrorKind, Result, utils}; use async_stream::try_stream; use futures::stream::Stream; use glob::glob_with; @@ -11,7 +11,7 @@ use shellexpand::tilde; use std::fmt::Display; use std::fs; use std::path::{Path, PathBuf}; -use tokio::io::{stdin, AsyncReadExt}; +use tokio::io::{AsyncReadExt, stdin}; use super::file::FileExtensions; @@ -357,7 +357,7 @@ impl Input { &self, pattern: &str, ignore_case: bool, - ) -> impl Stream> + '_ { + ) -> impl Stream> + '_ + use<'_> { let glob_expanded = tilde(&pattern).to_string(); let mut match_opts = glob::MatchOptions::new(); diff --git a/lychee-lib/src/types/status_code/excluder.rs b/lychee-lib/src/types/status_code/excluder.rs index 34068eb..2334f68 100644 --- a/lychee-lib/src/types/status_code/excluder.rs +++ b/lychee-lib/src/types/status_code/excluder.rs @@ -1,9 +1,9 @@ use std::{collections::HashSet, fmt::Display, str::FromStr}; -use serde::{de::Visitor, Deserialize}; +use serde::{Deserialize, de::Visitor}; use crate::{ - types::accept::AcceptRange, types::status_code::StatusCodeSelectorError, AcceptRangeError, + AcceptRangeError, types::accept::AcceptRange, types::status_code::StatusCodeSelectorError, }; /// A [`StatusCodeExcluder`] holds ranges of HTTP status codes, and determines diff --git a/lychee-lib/src/types/status_code/selector.rs b/lychee-lib/src/types/status_code/selector.rs index c93b662..ea7637a 100644 --- a/lychee-lib/src/types/status_code/selector.rs +++ b/lychee-lib/src/types/status_code/selector.rs @@ -1,9 +1,9 @@ use std::{collections::HashSet, fmt::Display, str::FromStr}; -use serde::{de::Visitor, Deserialize}; +use serde::{Deserialize, de::Visitor}; use thiserror::Error; -use crate::{types::accept::AcceptRange, AcceptRangeError}; +use crate::{AcceptRangeError, types::accept::AcceptRange}; #[derive(Debug, Error, PartialEq)] pub enum StatusCodeSelectorError { diff --git a/lychee-lib/src/types/uri/github.rs b/lychee-lib/src/types/uri/github.rs index b6fb8cf..cf154dd 100644 --- a/lychee-lib/src/types/uri/github.rs +++ b/lychee-lib/src/types/uri/github.rs @@ -187,16 +187,20 @@ mod tests { .is_err() ); - assert!(GithubUri::try_from(website( - "https://github.com/marketplace/actions/lychee-broken-link-checker" - )) - .is_err()); + assert!( + GithubUri::try_from(website( + "https://github.com/marketplace/actions/lychee-broken-link-checker" + )) + .is_err() + ); assert!(GithubUri::try_from(website("https://github.com/features/actions")).is_err()); - assert!(GithubUri::try_from(website( - "https://pkg.go.dev/github.com/Debian/pkg-go-tools/cmd/pgt-gopath" - )) - .is_err()); + assert!( + GithubUri::try_from(website( + "https://pkg.go.dev/github.com/Debian/pkg-go-tools/cmd/pgt-gopath" + )) + .is_err() + ); } } diff --git a/lychee-lib/src/utils/fragment_checker.rs b/lychee-lib/src/utils/fragment_checker.rs index fdcd998..0306735 100644 --- a/lychee-lib/src/utils/fragment_checker.rs +++ b/lychee-lib/src/utils/fragment_checker.rs @@ -1,13 +1,13 @@ use std::{ - collections::{hash_map::Entry, HashMap, HashSet}, + collections::{HashMap, HashSet, hash_map::Entry}, path::Path, sync::Arc, }; use crate::{ + Result, extract::{html::html5gum::extract_html_fragments, markdown::extract_markdown_fragments}, types::{ErrorKind, FileType}, - Result, }; use percent_encoding::percent_decode_str; use tokio::{fs, sync::Mutex}; diff --git a/lychee-lib/src/utils/request.rs b/lychee-lib/src/utils/request.rs index 8f23033..779ced4 100644 --- a/lychee-lib/src/utils/request.rs +++ b/lychee-lib/src/utils/request.rs @@ -7,10 +7,10 @@ use std::{ }; use crate::{ - basic_auth::BasicAuthExtractor, - types::{uri::raw::RawUri, InputSource}, - utils::{path, url}, Base, BasicAuthCredentials, ErrorKind, Request, Result, Uri, + basic_auth::BasicAuthExtractor, + types::{InputSource, uri::raw::RawUri}, + utils::{path, url}, }; /// Extract basic auth credentials for a given URL. @@ -230,9 +230,11 @@ mod tests { let requests = create(uris, &source, None, Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/path/relative.html")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/path/relative.html") + ); } #[test] @@ -244,9 +246,11 @@ mod tests { let requests = create(uris, &source, None, Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://another.com/page")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://another.com/page") + ); } #[test] @@ -258,9 +262,11 @@ mod tests { let requests = create(uris, &source, None, Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/root-relative")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/root-relative") + ); } #[test] @@ -272,9 +278,11 @@ mod tests { let requests = create(uris, &source, None, Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/parent")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/parent") + ); } #[test] @@ -286,9 +294,11 @@ mod tests { let requests = create(uris, &source, None, Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/path/page.html#fragment")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/path/page.html#fragment") + ); } #[test] @@ -300,9 +310,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "file:///some/relative.html")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "file:///some/relative.html") + ); } #[test] @@ -314,9 +326,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://another.com/page")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://another.com/page") + ); } #[test] @@ -328,9 +342,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "file:///tmp/lychee/root-relative")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "file:///tmp/lychee/root-relative") + ); } #[test] @@ -342,9 +358,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "file:///parent")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "file:///parent") + ); } #[test] @@ -356,9 +374,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "file:///some/page.html#fragment")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "file:///some/page.html#fragment") + ); } #[test] @@ -371,9 +391,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/path/relative.html")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/path/relative.html") + ); } #[test] @@ -386,9 +408,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://another.com/page")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://another.com/page") + ); } #[test] @@ -401,9 +425,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/tmp/lychee/root-relative")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/tmp/lychee/root-relative") + ); } #[test] @@ -416,9 +442,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/parent")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/parent") + ); } #[test] @@ -431,9 +459,11 @@ mod tests { let requests = create(uris, &source, Some(&root_dir), Some(&base), None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/path/page.html#fragment")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/path/page.html#fragment") + ); } #[test] @@ -444,9 +474,11 @@ mod tests { let requests = create(uris, &source, None, None, None); assert_eq!(requests.len(), 1); - assert!(requests - .iter() - .any(|r| r.uri.url.as_str() == "https://example.com/page")); + assert!( + requests + .iter() + .any(|r| r.uri.url.as_str() == "https://example.com/page") + ); } #[test]