Sfoglia il codice sorgente

chore: upgrade dependencies for kuchiki

Mikkel Denker 1 anno fa
parent
commit
7e9da2e37c

+ 74 - 184
Cargo.lock

@@ -58,7 +58,7 @@ version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom",
  "once_cell",
  "version_check",
 ]
@@ -70,7 +70,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
- "getrandom 0.2.12",
+ "getrandom",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -329,7 +329,7 @@ dependencies = [
  "http-body-util",
  "hyper 1.2.0",
  "hyper-util",
- "itoa 1.0.10",
+ "itoa",
  "matchit",
  "memchr",
  "mime",
@@ -662,7 +662,7 @@ dependencies = [
  "glob",
  "indicatif 0.16.2",
  "log",
- "rand 0.8.5",
+ "rand",
  "reqwest",
  "serde",
  "serde_json",
@@ -685,7 +685,7 @@ dependencies = [
  "memmap2",
  "num-traits",
  "num_cpus",
- "rand 0.8.5",
+ "rand",
  "rand_distr",
  "rayon",
  "safetensors 0.4.2",
@@ -719,7 +719,7 @@ dependencies = [
  "candle-core",
  "candle-nn",
  "num-traits",
- "rand 0.8.5",
+ "rand",
  "rayon",
  "serde",
  "serde_json",
@@ -776,7 +776,7 @@ dependencies = [
  "anyhow",
  "async-trait",
  "bytes",
- "rand 0.8.5",
+ "rand",
  "serde",
  "tokio",
  "tokio-stream",
@@ -1084,25 +1084,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
  "generic-array",
- "rand_core 0.6.4",
+ "rand_core",
  "typenum",
 ]
 
 [[package]]
 name = "cssparser"
-version = "0.27.2"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
+checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
 dependencies = [
  "cssparser-macros",
  "dtoa-short",
- "itoa 0.4.8",
- "matches",
- "phf 0.8.0",
- "proc-macro2",
- "quote",
+ "itoa",
+ "phf 0.11.2",
  "smallvec",
- "syn 1.0.109",
 ]
 
 [[package]]
@@ -1122,7 +1118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
 dependencies = [
  "csv-core",
- "itoa 1.0.10",
+ "itoa",
  "ryu",
  "serde",
 ]
@@ -1899,17 +1895,6 @@ dependencies = [
  "version_check",
 ]
 
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
 [[package]]
 name = "getrandom"
 version = "0.2.12"
@@ -1918,7 +1903,7 @@ checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -2001,7 +1986,7 @@ dependencies = [
  "cfg-if",
  "crunchy",
  "num-traits",
- "rand 0.8.5",
+ "rand",
  "rand_distr",
  "serde",
 ]
@@ -2119,7 +2104,7 @@ checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 1.0.10",
+ "itoa",
 ]
 
 [[package]]
@@ -2130,7 +2115,7 @@ checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 1.0.10",
+ "itoa",
 ]
 
 [[package]]
@@ -2194,7 +2179,7 @@ dependencies = [
  "http-body 0.4.6",
  "httparse",
  "httpdate",
- "itoa 1.0.10",
+ "itoa",
  "pin-project-lite",
  "socket2",
  "tokio",
@@ -2217,7 +2202,7 @@ dependencies = [
  "http-body 1.0.0",
  "httparse",
  "httpdate",
- "itoa 1.0.10",
+ "itoa",
  "pin-project-lite",
  "smallvec",
  "tokio",
@@ -2474,12 +2459,6 @@ 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.10"
@@ -2741,7 +2720,7 @@ checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 dependencies = [
  "log",
  "phf 0.10.1",
- "phf_codegen 0.10.0",
+ "phf_codegen",
  "string_cache",
  "string_cache_codegen",
  "tendril",
@@ -2865,7 +2844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "windows-sys 0.48.0",
 ]
 
@@ -2920,12 +2899,6 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 
-[[package]]
-name = "nodrop"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-
 [[package]]
 name = "nom"
 version = "7.1.3"
@@ -3086,7 +3059,7 @@ dependencies = [
  "futures",
  "maplit",
  "openraft-macros",
- "rand 0.8.5",
+ "rand",
  "serde",
  "thiserror",
  "tokio",
@@ -3240,7 +3213,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
 dependencies = [
  "base64ct",
- "rand_core 0.6.4",
+ "rand_core",
  "subtle",
 ]
 
@@ -3278,17 +3251,6 @@ dependencies = [
  "indexmap 2.2.5",
 ]
 
-[[package]]
-name = "phf"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_macros",
- "phf_shared 0.8.0",
- "proc-macro-hack",
-]
-
 [[package]]
 name = "phf"
 version = "0.10.1"
@@ -3299,13 +3261,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "phf_codegen"
-version = "0.8.0"
+name = "phf"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
+ "phf_macros",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -3320,52 +3282,51 @@ dependencies = [
 
 [[package]]
 name = "phf_generator"
-version = "0.8.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
+checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
+ "phf_shared 0.10.0",
+ "rand",
 ]
 
 [[package]]
 name = "phf_generator"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
- "phf_shared 0.10.0",
- "rand 0.8.5",
+ "phf_shared 0.11.2",
+ "rand",
 ]
 
 [[package]]
 name = "phf_macros"
-version = "0.8.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
- "proc-macro-hack",
+ "phf_generator 0.11.2",
+ "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.8.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
 ]
@@ -3550,12 +3511,6 @@ dependencies = [
  "version_check",
 ]
 
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
 [[package]]
 name = "proc-macro2"
 version = "1.0.78"
@@ -3576,8 +3531,8 @@ dependencies = [
  "bitflags 2.4.2",
  "lazy_static",
  "num-traits",
- "rand 0.8.5",
- "rand_chacha 0.3.1",
+ "rand",
+ "rand_chacha",
  "rand_xorshift",
  "regex-syntax 0.8.2",
  "rusty-fork",
@@ -3693,20 +3648,6 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
 
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg 0.2.1",
-]
-
 [[package]]
 name = "rand"
 version = "0.8.5"
@@ -3714,18 +3655,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -3735,16 +3666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core",
 ]
 
 [[package]]
@@ -3753,7 +3675,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom",
 ]
 
 [[package]]
@@ -3763,25 +3685,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
 dependencies = [
  "num-traits",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
+ "rand",
 ]
 
 [[package]]
@@ -3790,7 +3694,7 @@ version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
 dependencies = [
- "rand_core 0.6.4",
+ "rand_core",
 ]
 
 [[package]]
@@ -3799,7 +3703,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
 dependencies = [
- "rand_core 0.6.4",
+ "rand_core",
 ]
 
 [[package]]
@@ -3872,7 +3776,7 @@ version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom",
  "libredox",
  "thiserror",
 ]
@@ -3992,7 +3896,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
  "cfg-if",
- "getrandom 0.2.12",
+ "getrandom",
  "libc",
  "spin",
  "untrusted",
@@ -4291,8 +4195,8 @@ dependencies = [
  "itertools 0.11.0",
  "lz4_flex",
  "num_enum",
- "rand 0.8.5",
- "rand_pcg 0.3.1",
+ "rand",
+ "rand_pcg",
  "scylla-cql",
  "scylla-macros",
  "smallvec",
@@ -4368,22 +4272,21 @@ dependencies = [
 
 [[package]]
 name = "selectors"
-version = "0.22.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
+checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "cssparser",
  "derive_more",
  "fxhash",
  "log",
- "matches",
- "phf 0.8.0",
- "phf_codegen 0.8.0",
+ "new_debug_unreachable",
+ "phf 0.10.1",
+ "phf_codegen",
  "precomputed-hash",
  "servo_arc",
  "smallvec",
- "thin-slice",
 ]
 
 [[package]]
@@ -4435,7 +4338,7 @@ version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
- "itoa 1.0.10",
+ "itoa",
  "ryu",
  "serde",
 ]
@@ -4446,7 +4349,7 @@ version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c"
 dependencies = [
- "itoa 1.0.10",
+ "itoa",
  "serde",
 ]
 
@@ -4475,18 +4378,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
  "form_urlencoded",
- "itoa 1.0.10",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
 name = "servo_arc"
-version = "0.1.1"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
+checksum = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44"
 dependencies = [
- "nodrop",
  "stable_deref_trait",
 ]
 
@@ -4730,7 +4632,7 @@ dependencies = [
  "proptest-derive",
  "publicsuffix",
  "quick-xml 0.30.0",
- "rand 0.8.5",
+ "rand",
  "rayon",
  "redb",
  "regex",
@@ -5114,12 +5016,6 @@ dependencies = [
  "winapi",
 ]
 
-[[package]]
-name = "thin-slice"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
-
 [[package]]
 name = "thiserror"
 version = "1.0.57"
@@ -5188,7 +5084,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
- "itoa 1.0.10",
+ "itoa",
  "num-conv",
  "powerfmt",
  "serde",
@@ -5258,7 +5154,7 @@ dependencies = [
  "derive_builder",
  "dirs 4.0.0",
  "esaxx-rs",
- "getrandom 0.2.12",
+ "getrandom",
  "indicatif 0.15.0",
  "itertools 0.9.0",
  "lazy_static",
@@ -5267,7 +5163,7 @@ dependencies = [
  "monostate",
  "onig",
  "paste",
- "rand 0.8.5",
+ "rand",
  "rayon",
  "rayon-cond",
  "regex",
@@ -5739,7 +5635,7 @@ version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom",
  "serde",
 ]
 
@@ -5804,12 +5700,6 @@ dependencies = [
  "try-lock",
 ]
 
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
 [[package]]
 name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"

+ 37 - 22
assets/licenses.html

@@ -44,9 +44,9 @@
     
         <h2>Overview of licenses:</h2>
         <ul class="licenses-overview">
-            <li><a href="#Apache-2.0">Apache License 2.0</a> (398)</li>
-            <li><a href="#MIT">MIT License</a> (192)</li>
-            <li><a href="#MPL-2.0">Mozilla Public License 2.0</a> (9)</li>
+            <li><a href="#Apache-2.0">Apache License 2.0</a> (388)</li>
+            <li><a href="#MIT">MIT License</a> (191)</li>
+            <li><a href="#MPL-2.0">Mozilla Public License 2.0</a> (8)</li>
             <li><a href="#BSD-3-Clause">BSD 3-Clause &quot;New&quot; or &quot;Revised&quot; License</a> (7)</li>
             <li><a href="#Unicode-DFS-2016">Unicode License Agreement - Data Files and Software (2016)</a> (5)</li>
             <li><a href="#AGPL-3.0">GNU Affero General Public License v3.0</a> (3)</li>
@@ -7512,7 +7512,6 @@ limitations under the License.</pre>
                     <li><a href=" https://github.com/rust-itertools/itertools ">itertools 0.12.1</a></li>
                     <li><a href=" https://github.com/bluss/rust-itertools ">itertools 0.8.2</a></li>
                     <li><a href=" https://github.com/bluss/rust-itertools ">itertools 0.9.0</a></li>
-                    <li><a href=" https://github.com/dtolnay/itoa ">itoa 0.4.8</a></li>
                     <li><a href=" https://github.com/image-rs/jpeg-decoder ">jpeg-decoder 0.3.1</a></li>
                     <li><a href=" https://github.com/rustwasm/wasm-bindgen/tree/master/crates/js-sys ">js-sys 0.3.69</a></li>
                     <li><a href=" https://github.com/lalrpop/lalrpop ">lalrpop-util 0.20.2</a></li>
@@ -7526,7 +7525,6 @@ limitations under the License.</pre>
                     <li><a href=" https://github.com/servo/html5ever ">markup5ever 0.11.0</a></li>
                     <li><a href=" https://github.com/hyperium/mime ">mime 0.3.17</a></li>
                     <li><a href=" https://github.com/tov/min-max-heap-rs ">min-max-heap 1.3.0</a></li>
-                    <li><a href=" https://github.com/bluss/arrayvec ">nodrop 0.1.14</a></li>
                     <li><a href=" https://github.com/rust-num/num-complex ">num-complex 0.4.5</a></li>
                     <li><a href=" https://github.com/rust-num/num-traits ">num-traits 0.2.18</a></li>
                     <li><a href=" https://github.com/seanmonstar/num_cpus ">num_cpus 1.16.0</a></li>
@@ -7541,7 +7539,6 @@ limitations under the License.</pre>
                     <li><a href=" https://github.com/rust-lang/pkg-config-rs ">pkg-config 0.3.30</a></li>
                     <li><a href=" https://github.com/image-rs/image-png ">png 0.17.13</a></li>
                     <li><a href=" https://github.com/jamesmunns/postcard ">postcard 1.0.8</a></li>
-                    <li><a href=" https://github.com/dtolnay/proc-macro-hack ">proc-macro-hack 0.5.20+deprecated</a></li>
                     <li><a href=" https://github.com/proptest-rs/proptest ">proptest-derive 0.4.0</a></li>
                     <li><a href=" https://github.com/proptest-rs/proptest ">proptest 1.4.0</a></li>
                     <li><a href=" https://github.com/addr-rs/psl-types ">psl-types 2.0.11</a></li>
@@ -7595,7 +7592,6 @@ limitations under the License.</pre>
                     <li><a href=" https://github.com/SergioBenitez/version_check ">version_check 0.9.4</a></li>
                     <li><a href=" https://github.com/alexcrichton/wait-timeout ">wait-timeout 0.2.0</a></li>
                     <li><a href=" https://github.com/bytecodealliance/wasi ">wasi 0.11.0+wasi-snapshot-preview1</a></li>
-                    <li><a href=" https://github.com/bytecodealliance/wasi ">wasi 0.9.0+wasi-snapshot-preview1</a></li>
                     <li><a href=" https://github.com/rustwasm/wasm-bindgen/tree/master/crates/backend ">wasm-bindgen-backend 0.2.92</a></li>
                     <li><a href=" https://github.com/rustwasm/wasm-bindgen/tree/master/crates/futures ">wasm-bindgen-futures 0.4.42</a></li>
                     <li><a href=" https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro-support ">wasm-bindgen-macro-support 0.2.92</a></li>
@@ -8844,14 +8840,8 @@ APPENDIX: How to apply the Apache License to your work.
                 <h3 id="Apache-2.0">Apache License 2.0</h3>
                 <h4>Used by:</h4>
                 <ul class="license-used-by">
-                    <li><a href=" https://github.com/rust-random/getrandom ">getrandom 0.1.16</a></li>
                     <li><a href=" https://github.com/rust-random/getrandom ">getrandom 0.2.12</a></li>
-                    <li><a href=" https://github.com/rust-random/rand ">rand 0.7.3</a></li>
-                    <li><a href=" https://github.com/rust-random/rand ">rand_chacha 0.2.2</a></li>
                     <li><a href=" https://github.com/rust-random/rand ">rand_chacha 0.3.1</a></li>
-                    <li><a href=" https://github.com/rust-random/rand ">rand_core 0.5.1</a></li>
-                    <li><a href=" https://github.com/rust-random/rand ">rand_hc 0.2.0</a></li>
-                    <li><a href=" https://github.com/rust-random/rand ">rand_pcg 0.2.1</a></li>
                     <li><a href=" https://github.com/rust-random/rand ">rand_pcg 0.3.1</a></li>
                     <li><a href=" https://github.com/rust-random/rngs ">rand_xorshift 0.3.0</a></li>
                 </ul>
@@ -10344,7 +10334,7 @@ limitations under the License.
                     <li><a href=" https://github.com/scylladb/scylla-rust-driver ">scylla-cql 0.1.0</a></li>
                     <li><a href=" https://github.com/scylladb/scylla-rust-driver ">scylla-macros 0.4.0</a></li>
                     <li><a href=" https://github.com/scylladb/scylla-rust-driver ">scylla 0.12.0</a></li>
-                    <li><a href=" https://github.com/servo/servo ">servo_arc 0.1.1</a></li>
+                    <li><a href=" https://github.com/servo/servo ">servo_arc 0.3.0</a></li>
                     <li><a href=" https://github.com/jedisct1/rust-siphash ">siphasher 0.3.11</a></li>
                     <li><a href=" https://github.com/mullvad/system-configuration-rs ">system-configuration-sys 0.5.0</a></li>
                     <li><a href=" https://github.com/mullvad/system-configuration-rs ">system-configuration 0.5.1</a></li>
@@ -13897,14 +13887,10 @@ SOFTWARE.
                     <li><a href=" https://github.com/hyperium/http-body ">http-body 1.0.0</a></li>
                     <li><a href=" https://github.com/ogham/rust-number-prefix ">number_prefix 0.4.0</a></li>
                     <li><a href=" https://github.com/sfackler/rust-phf ">phf 0.10.1</a></li>
-                    <li><a href=" https://github.com/sfackler/rust-phf ">phf 0.8.0</a></li>
                     <li><a href=" https://github.com/sfackler/rust-phf ">phf_codegen 0.10.0</a></li>
-                    <li><a href=" https://github.com/sfackler/rust-phf ">phf_codegen 0.8.0</a></li>
                     <li><a href=" https://github.com/sfackler/rust-phf ">phf_generator 0.10.0</a></li>
-                    <li><a href=" https://github.com/sfackler/rust-phf ">phf_generator 0.8.0</a></li>
-                    <li><a href=" https://github.com/sfackler/rust-phf ">phf_macros 0.8.0</a></li>
+                    <li><a href=" https://github.com/rust-phf/rust-phf ">phf_macros 0.11.2</a></li>
                     <li><a href=" https://github.com/sfackler/rust-phf ">phf_shared 0.10.0</a></li>
-                    <li><a href=" https://github.com/sfackler/rust-phf ">phf_shared 0.8.0</a></li>
                     <li><a href=" https://github.com/plotters-rs/plotters ">plotters-backend 0.3.5</a></li>
                     <li><a href=" https://github.com/plotters-rs/plotters.git ">plotters-svg 0.3.5</a></li>
                     <li><a href=" https://github.com/plotters-rs/plotters ">plotters 0.3.5</a></li>
@@ -14206,6 +14192,36 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
 THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+</pre>
+            </li>
+            <li class="license">
+                <h3 id="MIT">MIT License</h3>
+                <h4>Used by:</h4>
+                <ul class="license-used-by">
+                    <li><a href=" https://github.com/rust-phf/rust-phf ">phf 0.11.2</a></li>
+                    <li><a href=" https://github.com/rust-phf/rust-phf ">phf_generator 0.11.2</a></li>
+                    <li><a href=" https://github.com/rust-phf/rust-phf ">phf_shared 0.11.2</a></li>
+                </ul>
+                <pre class="license-text">The MIT License (MIT)
+
+Copyright (c) 2014-2022 Steven Fackler, Yuki Okushi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the &quot;Software&quot;), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 </pre>
             </li>
             <li class="license">
@@ -15927,7 +15943,7 @@ defined by the Mozilla Public License, v. 2.0.
                 <h4>Used by:</h4>
                 <ul class="license-used-by">
                     <li><a href=" https://github.com/servo/rust-cssparser ">cssparser-macros 0.6.1</a></li>
-                    <li><a href=" https://github.com/servo/rust-cssparser ">cssparser 0.27.2</a></li>
+                    <li><a href=" https://github.com/servo/rust-cssparser ">cssparser 0.31.2</a></li>
                     <li><a href=" https://gitlab.com/xmpp-rs/xmpp-rs ">minidom 0.15.2</a></li>
                 </ul>
                 <pre class="license-text">Mozilla Public License Version 2.0
@@ -16310,8 +16326,7 @@ Exhibit B - &quot;Incompatible With Secondary Licenses&quot; Notice
                 <h4>Used by:</h4>
                 <ul class="license-used-by">
                     <li><a href=" https://github.com/soc/option-ext.git ">option-ext 0.2.0</a></li>
-                    <li><a href=" https://github.com/servo/servo ">selectors 0.22.0</a></li>
-                    <li><a href=" https://github.com/heycam/thin-slice ">thin-slice 0.1.1</a></li>
+                    <li><a href=" https://github.com/servo/servo ">selectors 0.25.0</a></li>
                 </ul>
                 <pre class="license-text">Mozilla Public License Version 2.0
 &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;

+ 6 - 7
crates/core/src/distributed/retry_strategy.rs

@@ -4,7 +4,6 @@
  * */
 use rand::Rng;
 use std::time::Duration;
-use std::u64::MAX as U64_MAX;
 
 /// A retry strategy driven by exponential back-off.
 ///
@@ -46,7 +45,7 @@ impl Iterator for ExponentialBackoff {
         let duration = if let Some(duration) = self.current.checked_mul(self.factor) {
             Duration::from_millis(duration)
         } else {
-            Duration::from_millis(U64_MAX)
+            Duration::from_millis(u64::MAX)
         };
 
         // check if we reached max delay
@@ -59,7 +58,7 @@ impl Iterator for ExponentialBackoff {
         if let Some(next) = self.current.checked_mul(self.base) {
             self.current = next;
         } else {
-            self.current = U64_MAX;
+            self.current = u64::MAX;
         }
 
         Some(duration)
@@ -112,11 +111,11 @@ mod tests {
 
     #[test]
     fn saturates_at_maximum_value() {
-        let mut s = ExponentialBackoff::from_millis(U64_MAX - 1);
+        let mut s = ExponentialBackoff::from_millis(u64::MAX - 1);
 
-        assert_eq!(s.next(), Some(Duration::from_millis(U64_MAX - 1)));
-        assert_eq!(s.next(), Some(Duration::from_millis(U64_MAX)));
-        assert_eq!(s.next(), Some(Duration::from_millis(U64_MAX)));
+        assert_eq!(s.next(), Some(Duration::from_millis(u64::MAX - 1)));
+        assert_eq!(s.next(), Some(Duration::from_millis(u64::MAX)));
+        assert_eq!(s.next(), Some(Duration::from_millis(u64::MAX)));
     }
 
     #[test]

+ 3 - 3
crates/kuchiki/Cargo.toml

@@ -5,17 +5,17 @@ authors = ["Simon Sapin <simon.sapin@exyr.org>"]
 license = "MIT"
 description = "(朽木) HTML/XML tree manipulation library"
 repository = "https://github.com/kuchiki-rs/kuchiki"
-edition = "2018"
+edition = "2021"
 
 [lib]
 name = "kuchiki"
 doctest = false
 
 [dependencies]
-cssparser = "0.27"
+cssparser = "0.31"
 matches = "0.1.4"
 html5ever = "0.26.0"
-selectors = "0.22"
+selectors = "0.25"
 indexmap = "1.6.0"
 thiserror = { workspace = true }
 

+ 69 - 31
crates/kuchiki/src/select.rs

@@ -4,14 +4,14 @@ use crate::node_data_ref::NodeDataRef;
 use crate::tree::{ElementData, Node, NodeData, NodeRef};
 use crate::{Error, Result};
 use cssparser::{CowRcStr, ParseError, SourceLocation, ToCss};
-use html5ever::{LocalName, Namespace};
+use html5ever::Namespace;
 use selectors::attr::{AttrSelectorOperation, CaseSensitivity, NamespaceConstraint};
-use selectors::context::QuirksMode;
+use selectors::context::{IgnoreNthChildForInvalidation, QuirksMode};
 use selectors::parser::SelectorParseErrorKind;
 use selectors::parser::{
     NonTSPseudoClass, Parser, Selector as GenericSelector, SelectorImpl, SelectorList,
 };
-use selectors::{matching, OpaqueElement};
+use selectors::{matching, NthIndexCache, OpaqueElement};
 use std::fmt;
 
 /// The definition of whitespace per CSS Selectors Level 3 § 4.
@@ -23,11 +23,9 @@ static SELECTOR_WHITESPACE: &[char] = &[' ', '\t', '\n', '\r', '\x0C'];
 pub struct KuchikiSelectors;
 
 impl SelectorImpl for KuchikiSelectors {
-    type AttrValue = String;
+    type AttrValue = AttrValue;
     type Identifier = LocalName;
-    type ClassName = LocalName;
     type LocalName = LocalName;
-    type PartName = LocalName;
     type NamespacePrefix = LocalName;
     type NamespaceUrl = Namespace;
     type BorrowedNamespaceUrl = Namespace;
@@ -36,7 +34,7 @@ impl SelectorImpl for KuchikiSelectors {
     type NonTSPseudoClass = PseudoClass;
     type PseudoElement = PseudoElement;
 
-    type ExtraMatchingData = ();
+    type ExtraMatchingData<'a> = ();
 }
 
 struct KuchikiParser;
@@ -110,10 +108,6 @@ impl NonTSPseudoClass for PseudoClass {
             PseudoClass::Active | PseudoClass::Hover | PseudoClass::Focus
         )
     }
-
-    fn has_zero_specificity(&self) -> bool {
-        false
-    }
 }
 
 impl ToCss for PseudoClass {
@@ -136,6 +130,46 @@ impl ToCss for PseudoClass {
     }
 }
 
+#[derive(Clone, Debug, PartialEq, Eq, Hash)]
+pub struct AttrValue(String);
+impl ToCss for AttrValue {
+    fn to_css<W>(&self, dest: &mut W) -> fmt::Result
+    where
+        W: fmt::Write,
+    {
+        dest.write_str(&self.0)
+    }
+}
+
+impl<'a> From<&'a str> for AttrValue {
+    fn from(s: &'a str) -> Self {
+        AttrValue(s.to_string())
+    }
+}
+
+impl AsRef<str> for AttrValue {
+    fn as_ref(&self) -> &str {
+        &self.0
+    }
+}
+
+#[derive(Clone, Debug, PartialEq, Eq, Hash, Default)]
+pub struct LocalName(html5ever::LocalName);
+impl ToCss for LocalName {
+    fn to_css<W>(&self, dest: &mut W) -> fmt::Result
+    where
+        W: fmt::Write,
+    {
+        dest.write_str(&self.0)
+    }
+}
+
+impl<'a> From<&'a str> for LocalName {
+    fn from(s: &'a str) -> Self {
+        LocalName(html5ever::LocalName::from(s))
+    }
+}
+
 #[derive(PartialEq, Eq, Clone, Debug, Hash)]
 pub enum PseudoElement {}
 
@@ -210,7 +244,7 @@ impl selectors::Element for NodeDataRef<ElementData> {
 
     #[inline]
     fn has_local_name(&self, name: &LocalName) -> bool {
-        self.name.local == *name
+        self.name.local == name.0
     }
     #[inline]
     fn has_namespace(&self, namespace: &Namespace) -> bool {
@@ -222,11 +256,6 @@ impl selectors::Element for NodeDataRef<ElementData> {
         false
     }
 
-    #[inline]
-    fn exported_part(&self, _: &LocalName) -> Option<LocalName> {
-        None
-    }
-
     #[inline]
     fn imported_part(&self, _: &LocalName) -> Option<LocalName> {
         None
@@ -262,13 +291,13 @@ impl selectors::Element for NodeDataRef<ElementData> {
             .borrow()
             .get(local_name!("id"))
             .map_or(false, |id_attr| {
-                case_sensitivity.eq(id.as_bytes(), id_attr.as_bytes())
+                case_sensitivity.eq(id.0.as_bytes(), id_attr.as_bytes())
             })
     }
 
     #[inline]
     fn has_class(&self, name: &LocalName, case_sensitivity: CaseSensitivity) -> bool {
-        let name = name.as_bytes();
+        let name = name.0.as_bytes();
         !name.is_empty()
             && if let Some(class_attr) = self.attributes.borrow().get(local_name!("class")) {
                 class_attr
@@ -284,17 +313,17 @@ impl selectors::Element for NodeDataRef<ElementData> {
         &self,
         ns: &NamespaceConstraint<&Namespace>,
         local_name: &LocalName,
-        operation: &AttrSelectorOperation<&String>,
+        operation: &AttrSelectorOperation<&AttrValue>,
     ) -> bool {
         let attrs = self.attributes.borrow();
         match *ns {
             NamespaceConstraint::Any => attrs
                 .map
                 .iter()
-                .any(|(name, attr)| name.local == *local_name && operation.eval_str(&attr.value)),
+                .any(|(name, attr)| name.local == local_name.0 && operation.eval_str(&attr.value)),
             NamespaceConstraint::Specific(ns_url) => attrs
                 .map
-                .get(&ExpandedName::new(ns_url, local_name.clone()))
+                .get(&ExpandedName::new(ns_url, local_name.0.clone()))
                 .map_or(false, |attr| operation.eval_str(&attr.value)),
         }
     }
@@ -307,15 +336,11 @@ impl selectors::Element for NodeDataRef<ElementData> {
         true
     }
 
-    fn match_non_ts_pseudo_class<F>(
+    fn match_non_ts_pseudo_class(
         &self,
         pseudo: &PseudoClass,
         _context: &mut matching::MatchingContext<KuchikiSelectors>,
-        _flags_setter: &mut F,
-    ) -> bool
-    where
-        F: FnMut(&Self, matching::ElementSelectorFlags),
-    {
+    ) -> bool {
         use self::PseudoClass::{
             Active, AnyLink, Checked, Disabled, Enabled, Focus, Hover, Indeterminate, Link, Visited,
         };
@@ -333,6 +358,12 @@ impl selectors::Element for NodeDataRef<ElementData> {
             }
         }
     }
+
+    fn first_element_child(&self) -> Option<Self> {
+        self.as_node().children().elements().next()
+    }
+
+    fn apply_selector_flags(&self, _flags: matching::ElementSelectorFlags) {}
 }
 
 /// A pre-compiled list of CSS Selectors.
@@ -355,7 +386,11 @@ impl Selectors {
     #[inline]
     pub fn compile(s: &str) -> Result<Selectors> {
         let mut input = cssparser::ParserInput::new(s);
-        match SelectorList::parse(&KuchikiParser, &mut cssparser::Parser::new(&mut input)) {
+        match SelectorList::parse(
+            &KuchikiParser,
+            &mut cssparser::Parser::new(&mut input),
+            selectors::parser::ParseRelative::ForNesting,
+        ) {
             Ok(list) => Ok(Selectors(list.0.into_iter().map(Selector).collect())),
             Err(_) => Err(Error::CssParseError),
         }
@@ -386,13 +421,16 @@ impl Selector {
     #[inline]
     #[must_use]
     pub fn matches(&self, element: &NodeDataRef<ElementData>) -> bool {
+        let mut cache = NthIndexCache::default();
         let mut context = matching::MatchingContext::new(
             matching::MatchingMode::Normal,
             None,
-            None,
+            &mut cache,
             QuirksMode::NoQuirks,
+            matching::NeedsSelectorFlags::No,
+            IgnoreNthChildForInvalidation::No,
         );
-        matching::matches_selector(&self.0, 0, None, element, &mut context, &mut |_, _| {})
+        matching::matches_selector(&self.0, 0, None, element, &mut context)
     }
 
     /// Return the specificity of this selector.