Skip to content

Commit ad02445

Browse files
authoredMar 22, 2025
Unrolled build for rust-lang#138763
Rollup merge of rust-lang#138763 - aDotInTheVoid:two-years-later, r=GuillaumeGomez jsondocck: Replace `jsonpath_lib` with `jsonpath-rust` The current jsonpath implementation we use isn't spec-compliant, and is buggy. See freestrings/jsonpath#91 To solve it, it's replaced with https://github.com/besok/jsonpath-rust. This is spec-compiant, and doesn't have a really awkward bug we need to always dance around. Unfortunately, this requires rewriting almost every test, as the behaviour of `[?(```@`,``` which is *extremely* common was changed. (But the new behaviour makes way more sense, and isn't buggy with tripply nested selectors) Unblocks rust-lang#110406. Makes rust-lang#100515 much easier as we don't need to explain the broken JSONPath implementation Best reviewed commit-by-commit. The first does the replacement. The next two rewrite the test-suite mechanically. The last rewrites the test-suite by hand. r? ```@GuillaumeGomez```
2 parents 0ce1369 + 13335e3 commit ad02445

File tree

155 files changed

+1259
-1192
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+1259
-1192
lines changed
 

‎Cargo.lock

+59-7
Original file line numberDiff line numberDiff line change
@@ -1925,7 +1925,7 @@ version = "0.1.0"
19251925
dependencies = [
19261926
"fs-err",
19271927
"getopts",
1928-
"jsonpath_lib",
1928+
"jsonpath-rust",
19291929
"regex",
19301930
"serde_json",
19311931
"shlex",
@@ -1945,14 +1945,16 @@ dependencies = [
19451945
]
19461946

19471947
[[package]]
1948-
name = "jsonpath_lib"
1949-
version = "0.3.0"
1948+
name = "jsonpath-rust"
1949+
version = "1.0.0"
19501950
source = "registry+https://github.com/rust-lang/crates.io-index"
1951-
checksum = "eaa63191d68230cccb81c5aa23abd53ed64d83337cacbb25a7b8c7979523774f"
1951+
checksum = "9b0231bb404a6cd6c8f0ab41b907049063a089fc02aa7636cc5cd9a4d87364c9"
19521952
dependencies = [
1953-
"log",
1954-
"serde",
1953+
"pest",
1954+
"pest_derive",
1955+
"regex",
19551956
"serde_json",
1957+
"thiserror 2.0.11",
19561958
]
19571959

19581960
[[package]]
@@ -2645,6 +2647,51 @@ dependencies = [
26452647
"libc",
26462648
]
26472649

2650+
[[package]]
2651+
name = "pest"
2652+
version = "2.7.15"
2653+
source = "registry+https://github.com/rust-lang/crates.io-index"
2654+
checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc"
2655+
dependencies = [
2656+
"memchr",
2657+
"thiserror 2.0.11",
2658+
"ucd-trie",
2659+
]
2660+
2661+
[[package]]
2662+
name = "pest_derive"
2663+
version = "2.7.15"
2664+
source = "registry+https://github.com/rust-lang/crates.io-index"
2665+
checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e"
2666+
dependencies = [
2667+
"pest",
2668+
"pest_generator",
2669+
]
2670+
2671+
[[package]]
2672+
name = "pest_generator"
2673+
version = "2.7.15"
2674+
source = "registry+https://github.com/rust-lang/crates.io-index"
2675+
checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b"
2676+
dependencies = [
2677+
"pest",
2678+
"pest_meta",
2679+
"proc-macro2",
2680+
"quote",
2681+
"syn 2.0.96",
2682+
]
2683+
2684+
[[package]]
2685+
name = "pest_meta"
2686+
version = "2.7.15"
2687+
source = "registry+https://github.com/rust-lang/crates.io-index"
2688+
checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea"
2689+
dependencies = [
2690+
"once_cell",
2691+
"pest",
2692+
"sha2",
2693+
]
2694+
26482695
[[package]]
26492696
name = "phf"
26502697
version = "0.11.3"
@@ -4780,7 +4827,6 @@ version = "1.0.135"
47804827
source = "registry+https://github.com/rust-lang/crates.io-index"
47814828
checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9"
47824829
dependencies = [
4783-
"indexmap",
47844830
"itoa",
47854831
"memchr",
47864832
"ryu",
@@ -5486,6 +5532,12 @@ dependencies = [
54865532
"regex-lite",
54875533
]
54885534

5535+
[[package]]
5536+
name = "ucd-trie"
5537+
version = "0.1.7"
5538+
source = "registry+https://github.com/rust-lang/crates.io-index"
5539+
checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
5540+
54895541
[[package]]
54905542
name = "ui_test"
54915543
version = "0.28.0"

‎src/bootstrap/src/utils/proc_macro_deps.rs

+15
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,43 @@ pub static CRATES: &[&str] = &[
66
"annotate-snippets",
77
"anstyle",
88
"basic-toml",
9+
"block-buffer",
910
"bumpalo",
11+
"cfg-if",
12+
"cpufeatures",
13+
"crypto-common",
1014
"darling",
1115
"darling_core",
1216
"derive_builder_core",
17+
"digest",
1318
"fluent-bundle",
1419
"fluent-langneg",
1520
"fluent-syntax",
1621
"fnv",
22+
"generic-array",
1723
"heck",
1824
"ident_case",
1925
"intl-memoizer",
2026
"intl_pluralrules",
27+
"libc",
2128
"log",
2229
"memchr",
2330
"mime",
2431
"mime_guess",
2532
"minimal-lexical",
2633
"nom",
2734
"num-conv",
35+
"once_cell",
36+
"pest",
37+
"pest_generator",
38+
"pest_meta",
2839
"proc-macro2",
2940
"quote",
3041
"rinja_parser",
3142
"rustc-hash",
3243
"self_cell",
3344
"serde",
45+
"sha2",
3446
"smallvec",
3547
"stable_deref_trait",
3648
"strsim",
@@ -40,12 +52,15 @@ pub static CRATES: &[&str] = &[
4052
"time-core",
4153
"tinystr",
4254
"type-map",
55+
"typenum",
56+
"ucd-trie",
4357
"unic-langid",
4458
"unic-langid-impl",
4559
"unic-langid-macros",
4660
"unicase",
4761
"unicode-ident",
4862
"unicode-width",
63+
"version_check",
4964
"wasm-bindgen-backend",
5065
"wasm-bindgen-macro-support",
5166
"wasm-bindgen-shared",

0 commit comments

Comments
 (0)