diff --git a/Cargo.lock b/Cargo.lock index 4310cfc04a..5fb6cff0e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,6 +43,9 @@ name = "arbitrary" version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +dependencies = [ + "derive_arbitrary", +] [[package]] name = "arrayvec" @@ -66,7 +69,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.36.7", + "object", "rustc-demangle", "windows-targets 0.52.6", ] @@ -126,12 +129,6 @@ dependencies = [ "loom", ] -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "camino" version = "1.1.9" @@ -152,16 +149,16 @@ dependencies = [ [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", - "thiserror", + "thiserror 2.0.12", ] [[package]] @@ -246,7 +243,7 @@ dependencies = [ "chalk-ir", "ena", "indexmap", - "itertools", + "itertools 0.12.1", "petgraph", "rustc-hash 1.1.0", "tracing", @@ -355,9 +352,9 @@ dependencies = [ [[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", ] @@ -375,32 +372,32 @@ dependencies = [ [[package]] name = "directories" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d" dependencies = [ "dirs-sys", ] [[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]] @@ -607,7 +604,7 @@ dependencies = [ "hir-ty", "indexmap", "intern", - "itertools", + "itertools 0.14.0", "rustc-hash 2.1.1", "smallvec", "span", @@ -637,7 +634,7 @@ dependencies = [ "hir-expand", "indexmap", "intern", - "itertools", + "itertools 0.14.0", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "mbe", "query-group-macro", @@ -669,7 +666,7 @@ dependencies = [ "either", "expect-test", "intern", - "itertools", + "itertools 0.14.0", "mbe", "parser", "query-group-macro", @@ -704,7 +701,7 @@ dependencies = [ "hir-expand", "indexmap", "intern", - "itertools", + "itertools 0.14.0", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "oorandom", "project-model", @@ -872,7 +869,7 @@ dependencies = [ "ide-db", "ide-diagnostics", "ide-ssr", - "itertools", + "itertools 0.14.0", "nohash-hasher", "oorandom", "profile", @@ -900,7 +897,7 @@ dependencies = [ "expect-test", "hir", "ide-db", - "itertools", + "itertools 0.14.0", "smallvec", "stdx", "syntax", @@ -918,7 +915,7 @@ dependencies = [ "expect-test", "hir", "ide-db", - "itertools", + "itertools 0.14.0", "smallvec", "stdx", "syntax", @@ -941,7 +938,7 @@ dependencies = [ "fst", "hir", "indexmap", - "itertools", + "itertools 0.14.0", "line-index 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "memchr", "nohash-hasher", @@ -971,7 +968,7 @@ dependencies = [ "expect-test", "hir", "ide-db", - "itertools", + "itertools 0.14.0", "paths", "serde_json", "stdx", @@ -989,7 +986,7 @@ dependencies = [ "expect-test", "hir", "ide-db", - "itertools", + "itertools 0.14.0", "parser", "syntax", "test-fixture", @@ -1020,9 +1017,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -1068,6 +1065,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.15" @@ -1118,9 +1124,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.170" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -1134,9 +1140,9 @@ dependencies = [ [[package]] name = "libmimalloc-sys" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" +checksum = "07d0e07885d6a754b9c7993f2625187ad694ee985d60f23355ff0e7077261502" dependencies = [ "cc", "libc", @@ -1187,7 +1193,7 @@ dependencies = [ "hir-expand", "ide-db", "intern", - "itertools", + "itertools 0.14.0", "proc-macro-api", "project-model", "span", @@ -1302,9 +1308,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.5.10" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -1320,9 +1326,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" +checksum = "99585191385958383e13f6b822e6b6d8d9cf928e7d286ceb092da92b43c87bc1" dependencies = [ "libmimalloc-sys", ] @@ -1444,15 +1450,6 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8dd6c0cdf9429bce006e1362bfce61fa1bfd8c898a643ed8d2b471934701d3d" -dependencies = [ - "memchr", -] - [[package]] name = "object" version = "0.36.7" @@ -1464,9 +1461,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.0" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "oorandom" @@ -1613,7 +1610,7 @@ dependencies = [ "libc", "libloading", "memmap2", - "object 0.33.0", + "object", "paths", "proc-macro-test", "ra-ap-rustc_lexer", @@ -1680,7 +1677,7 @@ dependencies = [ "cfg", "expect-test", "intern", - "itertools", + "itertools 0.14.0", "la-arena 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "paths", "rustc-hash 2.1.1", @@ -1703,7 +1700,7 @@ checksum = "a3a7c64d9bf75b1b8d981124c14c179074e8caa7dfe7b6a12e6222ddcd0c8f72" dependencies = [ "once_cell", "protobuf-support", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1712,7 +1709,7 @@ version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b088fd20b938a875ea00843b6faf48579462630015c3788d397ad6a786663252" dependencies = [ - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1748,9 +1745,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] @@ -1862,13 +1859,13 @@ dependencies = [ [[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", "libredox", - "thiserror", + "thiserror 2.0.12", ] [[package]] @@ -1949,7 +1946,7 @@ dependencies = [ "ide-ssr", "indexmap", "intern", - "itertools", + "itertools 0.14.0", "load-cargo", "lsp-server 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "lsp-types", @@ -2229,7 +2226,7 @@ version = "0.0.0" dependencies = [ "backtrace", "crossbeam-channel", - "itertools", + "itertools 0.14.0", "jod-thread", "libc", "miow", @@ -2265,7 +2262,7 @@ version = "0.0.0" dependencies = [ "either", "expect-test", - "itertools", + "itertools 0.14.0", "parser", "ra-ap-rustc_lexer", "rayon", @@ -2339,7 +2336,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -2353,6 +2359,17 @@ dependencies = [ "syn", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -2396,9 +2413,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.39" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", @@ -2413,15 +2430,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.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -2543,9 +2560,9 @@ dependencies = [ [[package]] name = "tracing-tree" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe" +checksum = "f459ca79f1b0d5f71c54ddfde6debfc59c8b6eeb46808ae492077f739dc7b49c" dependencies = [ "nu-ansi-term 0.50.1", "tracing-core", @@ -3123,7 +3140,7 @@ dependencies = [ "edition", "either", "flate2", - "itertools", + "itertools 0.14.0", "proc-macro2", "quote", "stdx", @@ -3204,13 +3221,17 @@ dependencies = [ [[package]] name = "zip" -version = "0.6.6" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" dependencies = [ - "byteorder", + "arbitrary", "crc32fast", "crossbeam-utils", + "displaydoc", "flate2", + "indexmap", + "memchr", + "thiserror 2.0.12", "time", ] diff --git a/Cargo.toml b/Cargo.toml index 03ecc8f274..49365cd022 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -97,60 +97,57 @@ ra-ap-rustc_pattern_analysis = { version = "0.100", default-features = false } # in-tree crates that are published separately and follow semver. See lib/README.md line-index = { version = "0.1.2" } la-arena = { version = "0.3.1" } -lsp-server = { version = "0.7.6" } +lsp-server = { version = "0.7.8" } # non-local crates -anyhow = "1.0.75" -arrayvec = "0.7.4" -bitflags = "2.4.1" -cargo_metadata = "0.18.1" -camino = "1.1.6" +anyhow = "1.0.97" +arrayvec = "0.7.6" +bitflags = "2.9.0" +cargo_metadata = "0.19.2" +camino = "1.1.9" chalk-solve = { version = "0.100.0", default-features = false } chalk-ir = "0.100.0" chalk-recursive = { version = "0.100.0", default-features = false } chalk-derive = "0.100.0" -crossbeam-channel = "0.5.8" -dissimilar = "1.0.7" +crossbeam-channel = "0.5.14" +dissimilar = "1.0.10" dot = "0.1.4" -either = "1.9.0" -expect-test = "1.4.0" -hashbrown = { version = "0.14", features = [ - "inline-more", -], default-features = false } -indexmap = { version = "2.1.0", features = ["serde"] } -itertools = "0.12.0" -libc = "0.2.150" -libloading = "0.8.0" -memmap2 = "0.5.4" +either = "1.15.0" +expect-test = "1.5.1" +indexmap = { version = "2.8.0", features = ["serde"] } +itertools = "0.14.0" +libc = "0.2.171" +libloading = "0.8.6" +memmap2 = "0.9.5" nohash-hasher = "0.2.0" -oorandom = "11.1.3" -object = { version = "0.33.0", default-features = false, features = [ +oorandom = "11.1.5" +object = { version = "0.36.7", default-features = false, features = [ "std", "read_core", "elf", "macho", "pe", ] } -process-wrap = { version = "8.0.2", features = ["std"] } +process-wrap = { version = "8.2.0", features = ["std"] } pulldown-cmark-to-cmark = "10.0.4" -pulldown-cmark = { version = "0.9.0", default-features = false } -rayon = "1.8.0" +pulldown-cmark = { version = "0.9.6", default-features = false } +rayon = "1.10.0" salsa = "0.19" -rustc-hash = "2.0.0" -semver = "1.0.14" -serde = { version = "1.0.192" } -serde_derive = { version = "1.0.192" } -serde_json = "1.0.108" -smallvec = { version = "1.10.0", features = [ +rustc-hash = "2.1.1" +semver = "1.0.26" +serde = { version = "1.0.219" } +serde_derive = { version = "1.0.219" } +serde_json = "1.0.140" +smallvec = { version = "1.14.0", features = [ "const_new", "union", "const_generics", ] } smol_str = "0.3.2" text-size = "1.1.1" -tracing = "0.1.40" -tracing-tree = "0.3.0" -tracing-subscriber = { version = "0.3.18", default-features = false, features = [ +tracing = "0.1.41" +tracing-tree = "0.4.0" +tracing-subscriber = { version = "0.3.19", default-features = false, features = [ "registry", "fmt", "local-time", @@ -159,12 +156,16 @@ tracing-subscriber = { version = "0.3.18", default-features = false, features = "tracing-log", ] } triomphe = { version = "0.1.14", default-features = false, features = ["std"] } -url = "2.3.1" -xshell = "0.2.5" +url = "2.5.4" +xshell = "0.2.7" # We need to freeze the version of the crate, as the raw-api feature is considered unstable dashmap = { version = "=5.5.3", features = ["raw-api"] } +# We need to freeze the version of the crate, as it needs to match with dashmap +hashbrown = { version = "=0.14.5", features = [ + "inline-more", +], default-features = false } [workspace.lints.rust] # remember to update RUSTFLAGS in ci.yml if you add something here diff --git a/crates/cfg/Cargo.toml b/crates/cfg/Cargo.toml index e887368ef2..d7764a16c0 100644 --- a/crates/cfg/Cargo.toml +++ b/crates/cfg/Cargo.toml @@ -20,13 +20,13 @@ tt = { workspace = true, optional = true } intern.workspace = true [dev-dependencies] -expect-test = "1.4.1" -oorandom = "11.1.3" +expect-test = "1.5.1" +oorandom = "11.1.5" # We depend on both individually instead of using `features = ["derive"]` to microoptimize the # build graph: if the feature was enabled, syn would be built early on in the graph if `smolstr` # supports `arbitrary`. This way, we avoid feature unification. -arbitrary = "1.3.2" -derive_arbitrary = "1.3.2" +arbitrary = "1.4.1" +derive_arbitrary = "1.4.1" # local deps syntax-bridge.workspace = true diff --git a/crates/hir-def/Cargo.toml b/crates/hir-def/Cargo.toml index 628a78cdea..98d24d20b0 100644 --- a/crates/hir-def/Cargo.toml +++ b/crates/hir-def/Cargo.toml @@ -14,7 +14,7 @@ rust-version.workspace = true [dependencies] arrayvec.workspace = true bitflags.workspace = true -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" drop_bomb = "0.1.5" either.workspace = true fst = { version = "0.4.7", default-features = false } @@ -25,7 +25,7 @@ rustc-hash.workspace = true tracing.workspace = true smallvec.workspace = true triomphe.workspace = true -rustc_apfloat = "0.2.0" +rustc_apfloat = "0.2.2" text-size.workspace = true salsa.workspace = true query-group.workspace = true diff --git a/crates/hir-expand/Cargo.toml b/crates/hir-expand/Cargo.toml index 5884c0a5a4..b83efca255 100644 --- a/crates/hir-expand/Cargo.toml +++ b/crates/hir-expand/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" tracing.workspace = true either.workspace = true rustc-hash.workspace = true @@ -35,7 +35,7 @@ parser.workspace = true syntax-bridge.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" [features] in-rust-tree = ["syntax/in-rust-tree"] diff --git a/crates/hir-ty/Cargo.toml b/crates/hir-ty/Cargo.toml index 49d0c5e58f..69ad7703c2 100644 --- a/crates/hir-ty/Cargo.toml +++ b/crates/hir-ty/Cargo.toml @@ -12,26 +12,26 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" itertools.workspace = true arrayvec.workspace = true bitflags.workspace = true smallvec.workspace = true -ena = "0.14.0" +ena = "0.14.3" either.workspace = true -oorandom = "11.1.3" +oorandom = "11.1.5" tracing.workspace = true rustc-hash.workspace = true -scoped-tls = "1.0.0" +scoped-tls = "1.0.1" chalk-solve.workspace = true chalk-ir.workspace = true chalk-recursive.workspace = true chalk-derive.workspace = true la-arena.workspace = true triomphe.workspace = true -typed-arena = "2.0.1" +typed-arena = "2.0.2" indexmap.workspace = true -rustc_apfloat = "0.2.0" +rustc_apfloat = "0.2.2" query-group.workspace = true salsa.workspace = true @@ -50,7 +50,7 @@ syntax.workspace = true span.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" tracing.workspace = true tracing-subscriber.workspace = true tracing-tree.workspace = true diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index 1e58c076f2..124cbd2ed1 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs @@ -1221,15 +1221,15 @@ fn precise_macro_call_location( .nth(derive_attr_index.ast_index()) .and_then(|x| Either::left(x.1))?; let token_tree = derive_attr.meta()?.token_tree()?; - let group_by = token_tree + let chunk_by = token_tree .syntax() .children_with_tokens() .filter_map(|elem| match elem { syntax::NodeOrToken::Token(tok) => Some(tok), _ => None, }) - .group_by(|t| t.kind() == T![,]); - let (_, mut group) = group_by + .chunk_by(|t| t.kind() == T![,]); + let (_, mut group) = chunk_by .into_iter() .filter(|&(comma, _)| !comma) .nth(*derive_index as usize)?; diff --git a/crates/hir/src/source_analyzer.rs b/crates/hir/src/source_analyzer.rs index bb5c7c0d20..ba5ceef00a 100644 --- a/crates/hir/src/source_analyzer.rs +++ b/crates/hir/src/source_analyzer.rs @@ -929,7 +929,7 @@ impl SourceAnalyzer { // FIXME: Multiple derives can have the same helper let name_ref = name_ref.as_name(); for (macro_id, mut helpers) in - helpers.iter().group_by(|(_, macro_id, ..)| macro_id).into_iter() + helpers.iter().chunk_by(|(_, macro_id, ..)| macro_id).into_iter() { if let Some(idx) = helpers.position(|(name, ..)| *name == name_ref) { diff --git a/crates/ide-assists/Cargo.toml b/crates/ide-assists/Cargo.toml index 3768c2257c..53af980c19 100644 --- a/crates/ide-assists/Cargo.toml +++ b/crates/ide-assists/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" itertools.workspace = true either.workspace = true @@ -26,7 +26,7 @@ ide-db.workspace = true hir.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" # local deps test-utils.workspace = true diff --git a/crates/ide-assists/src/handlers/remove_dbg.rs b/crates/ide-assists/src/handlers/remove_dbg.rs index 809ef6dae3..f2767a3221 100644 --- a/crates/ide-assists/src/handlers/remove_dbg.rs +++ b/crates/ide-assists/src/handlers/remove_dbg.rs @@ -74,7 +74,7 @@ fn compute_dbg_replacement(macro_expr: ast::MacroExpr) -> Option<(TextRange, Opt } let mac_input = tt.syntax().children_with_tokens().skip(1).take_while(|it| *it != r_delim); - let input_expressions = mac_input.group_by(|tok| tok.kind() == T![,]); + let input_expressions = mac_input.chunk_by(|tok| tok.kind() == T![,]); let input_expressions = input_expressions .into_iter() .filter_map(|(is_sep, group)| (!is_sep).then_some(group)) diff --git a/crates/ide-completion/Cargo.toml b/crates/ide-completion/Cargo.toml index 68cc7a0b9a..94c01e333e 100644 --- a/crates/ide-completion/Cargo.toml +++ b/crates/ide-completion/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" itertools.workspace = true tracing.workspace = true @@ -29,7 +29,7 @@ syntax.workspace = true hir.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" # local deps test-utils.workspace = true diff --git a/crates/ide-completion/src/completions/attribute.rs b/crates/ide-completion/src/completions/attribute.rs index fb7df8cc7f..3c195f80fe 100644 --- a/crates/ide-completion/src/completions/attribute.rs +++ b/crates/ide-completion/src/completions/attribute.rs @@ -380,7 +380,7 @@ fn parse_comma_sep_expr(input: ast::TokenTree) -> Option> { .children_with_tokens() .skip(1) .take_while(|it| it.as_token() != Some(&r_paren)); - let input_expressions = tokens.group_by(|tok| tok.kind() == T![,]); + let input_expressions = tokens.chunk_by(|tok| tok.kind() == T![,]); Some( input_expressions .into_iter() diff --git a/crates/ide-db/Cargo.toml b/crates/ide-db/Cargo.toml index 485a72050f..f1d6b605b0 100644 --- a/crates/ide-db/Cargo.toml +++ b/crates/ide-db/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" crossbeam-channel.workspace = true tracing.workspace = true rayon.workspace = true @@ -22,7 +22,7 @@ either.workspace = true itertools.workspace = true arrayvec.workspace = true indexmap.workspace = true -memchr = "2.6.4" +memchr = "2.7.4" salsa.workspace = true query-group.workspace = true triomphe.workspace = true @@ -44,7 +44,7 @@ hir.workspace = true line-index.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" # local deps test-utils.workspace = true diff --git a/crates/ide-db/src/syntax_helpers/node_ext.rs b/crates/ide-db/src/syntax_helpers/node_ext.rs index f0aa3daf55..cd47524caa 100644 --- a/crates/ide-db/src/syntax_helpers/node_ext.rs +++ b/crates/ide-db/src/syntax_helpers/node_ext.rs @@ -484,7 +484,7 @@ pub fn parse_tt_as_comma_sep_paths( None => None, Some(tok) => Some(tok), }); - let input_expressions = tokens.group_by(|tok| tok.kind() == T![,]); + let input_expressions = tokens.chunk_by(|tok| tok.kind() == T![,]); let paths = input_expressions .into_iter() .filter_map(|(is_sep, group)| (!is_sep).then_some(group)) diff --git a/crates/ide-diagnostics/Cargo.toml b/crates/ide-diagnostics/Cargo.toml index 483cb6df86..96be51e1b2 100644 --- a/crates/ide-diagnostics/Cargo.toml +++ b/crates/ide-diagnostics/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" either.workspace = true itertools.workspace = true serde_json.workspace = true @@ -27,7 +27,7 @@ ide-db.workspace = true paths.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" # local deps test-utils.workspace = true diff --git a/crates/ide-ssr/Cargo.toml b/crates/ide-ssr/Cargo.toml index 39a71c1d65..1212fa9f9c 100644 --- a/crates/ide-ssr/Cargo.toml +++ b/crates/ide-ssr/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" itertools.workspace = true # local deps @@ -22,7 +22,7 @@ parser.workspace = true syntax.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" triomphe.workspace = true # local deps diff --git a/crates/ide/Cargo.toml b/crates/ide/Cargo.toml index 9af56c40e9..1d19daf2f5 100644 --- a/crates/ide/Cargo.toml +++ b/crates/ide/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" arrayvec.workspace = true either.workspace = true itertools.workspace = true @@ -25,7 +25,7 @@ dot.workspace = true smallvec.workspace = true triomphe.workspace = true nohash-hasher.workspace = true -rustc_apfloat = "0.2.0" +rustc_apfloat = "0.2.2" # local deps cfg.workspace = true @@ -46,7 +46,7 @@ hir.workspace = true toolchain.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" # local deps test-utils.workspace = true diff --git a/crates/mbe/Cargo.toml b/crates/mbe/Cargo.toml index 6ee505e64e..f3ab093bae 100644 --- a/crates/mbe/Cargo.toml +++ b/crates/mbe/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -cov-mark = "2.0.0-pre.1" +cov-mark = "2.0.0" rustc-hash.workspace = true smallvec.workspace = true arrayvec.workspace = true diff --git a/crates/parser/Cargo.toml b/crates/parser/Cargo.toml index a36a39dbee..a90edfca28 100644 --- a/crates/parser/Cargo.toml +++ b/crates/parser/Cargo.toml @@ -19,7 +19,7 @@ tracing = { workspace = true, optional = true } edition.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" stdx.workspace = true diff --git a/crates/proc-macro-srv/proc-macro-test/Cargo.toml b/crates/proc-macro-srv/proc-macro-test/Cargo.toml index 2a5bfdd257..eddefb33c0 100644 --- a/crates/proc-macro-srv/proc-macro-test/Cargo.toml +++ b/crates/proc-macro-srv/proc-macro-test/Cargo.toml @@ -9,4 +9,4 @@ license = "MIT OR Apache-2.0" [lib] [build-dependencies] -cargo_metadata = "0.18.1" +cargo_metadata = "0.19.2" diff --git a/crates/proc-macro-srv/proc-macro-test/build.rs b/crates/proc-macro-srv/proc-macro-test/build.rs index d3d58a6df0..b97569d4db 100644 --- a/crates/proc-macro-srv/proc-macro-test/build.rs +++ b/crates/proc-macro-srv/proc-macro-test/build.rs @@ -110,7 +110,7 @@ fn main() { let mut artifact_path = None; for message in Message::parse_stream(output.stdout.as_slice()) { if let Message::CompilerArtifact(artifact) = message.unwrap() { - if artifact.target.kind.contains(&"proc-macro".to_string()) + if artifact.target.kind.contains(&cargo_metadata::TargetKind::ProcMacro) && (artifact.package_id.repr.starts_with(&repr) || artifact.package_id.repr == pkgid) { diff --git a/crates/profile/Cargo.toml b/crates/profile/Cargo.toml index 376737cec6..1fb1383272 100644 --- a/crates/profile/Cargo.toml +++ b/crates/profile/Cargo.toml @@ -13,7 +13,7 @@ rust-version.workspace = true [dependencies] cfg-if = "1.0.0" -jemalloc-ctl = { version = "0.5.0", package = "tikv-jemalloc-ctl", optional = true } +jemalloc-ctl = { version = "0.5.4", package = "tikv-jemalloc-ctl", optional = true } [target.'cfg(all(target_os = "linux", not(target_env = "ohos")))'.dependencies] perf-event = "=0.4.7" diff --git a/crates/project-model/Cargo.toml b/crates/project-model/Cargo.toml index 83def0e6b2..64ea75922f 100644 --- a/crates/project-model/Cargo.toml +++ b/crates/project-model/Cargo.toml @@ -34,7 +34,7 @@ stdx.workspace = true toolchain.workspace = true [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" [lints] workspace = true diff --git a/crates/project-model/src/build_dependencies.rs b/crates/project-model/src/build_dependencies.rs index aa0099d0e5..631787bf8e 100644 --- a/crates/project-model/src/build_dependencies.rs +++ b/crates/project-model/src/build_dependencies.rs @@ -343,7 +343,12 @@ impl WorkspaceBuildScripts { Message::CompilerArtifact(message) => { with_output_for(&message.package_id.repr, &mut |name, data| { progress(format!("building proc-macros: {name}")); - if message.target.kind.iter().any(|k| k == "proc-macro") { + if message + .target + .kind + .iter() + .any(|k| *k == cargo_metadata::TargetKind::ProcMacro) + { // Skip rmeta file if let Some(filename) = message.filenames.iter().find(|file| is_dylib(file)) diff --git a/crates/project-model/src/cargo_workspace.rs b/crates/project-model/src/cargo_workspace.rs index 6a932d21f7..971193229a 100644 --- a/crates/project-model/src/cargo_workspace.rs +++ b/crates/project-model/src/cargo_workspace.rs @@ -232,16 +232,20 @@ pub enum TargetKind { } impl TargetKind { - fn new(kinds: &[String]) -> TargetKind { + fn new(kinds: &[cargo_metadata::TargetKind]) -> TargetKind { for kind in kinds { - return match kind.as_str() { - "bin" => TargetKind::Bin, - "test" => TargetKind::Test, - "bench" => TargetKind::Bench, - "example" => TargetKind::Example, - "custom-build" => TargetKind::BuildScript, - "proc-macro" => TargetKind::Lib { is_proc_macro: true }, - _ if kind.contains("lib") => TargetKind::Lib { is_proc_macro: false }, + return match kind { + cargo_metadata::TargetKind::Bin => TargetKind::Bin, + cargo_metadata::TargetKind::Test => TargetKind::Test, + cargo_metadata::TargetKind::Bench => TargetKind::Bench, + cargo_metadata::TargetKind::Example => TargetKind::Example, + cargo_metadata::TargetKind::CustomBuild => TargetKind::BuildScript, + cargo_metadata::TargetKind::ProcMacro => TargetKind::Lib { is_proc_macro: true }, + cargo_metadata::TargetKind::Lib + | cargo_metadata::TargetKind::DyLib + | cargo_metadata::TargetKind::CDyLib + | cargo_metadata::TargetKind::StaticLib + | cargo_metadata::TargetKind::RLib => TargetKind::Lib { is_proc_macro: false }, _ => continue, }; } @@ -476,7 +480,7 @@ impl CargoWorkspace { cargo_metadata::Edition::E2015 => Edition::Edition2015, cargo_metadata::Edition::E2018 => Edition::Edition2018, cargo_metadata::Edition::E2021 => Edition::Edition2021, - cargo_metadata::Edition::_E2024 => Edition::Edition2024, + cargo_metadata::Edition::E2024 => Edition::Edition2024, _ => { tracing::error!("Unsupported edition `{:?}`", edition); Edition::CURRENT diff --git a/crates/query-group-macro/Cargo.toml b/crates/query-group-macro/Cargo.toml index 116028b5ba..ec37619751 100644 --- a/crates/query-group-macro/Cargo.toml +++ b/crates/query-group-macro/Cargo.toml @@ -18,5 +18,5 @@ quote = "1.0" syn = { version = "2.0", features = ["full", "extra-traits"] } [dev-dependencies] -expect-test = "1.5.0" +expect-test = "1.5.1" salsa.workspace = true diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml index d47074198f..af7b4e676c 100644 --- a/crates/rust-analyzer/Cargo.toml +++ b/crates/rust-analyzer/Cargo.toml @@ -22,34 +22,34 @@ path = "src/bin/main.rs" anyhow.workspace = true base64 = "0.22" crossbeam-channel.workspace = true -dirs = "5.0.1" +dirs = "6.0.0" dissimilar.workspace = true ide-completion.workspace = true indexmap.workspace = true itertools.workspace = true -scip = "0.5.1" +scip = "0.5.2" lsp-types = { version = "=0.95.0", features = ["proposed"] } -parking_lot = "0.12.1" -xflags = "0.3.0" -oorandom = "11.1.3" +parking_lot = "0.12.3" +xflags = "0.3.2" +oorandom = "11.1.5" rayon.workspace = true rustc-hash.workspace = true serde_json = { workspace = true, features = ["preserve_order"] } serde.workspace = true serde_derive.workspace = true tenthash = "1.0.0" -num_cpus = "1.15.0" -mimalloc = { version = "0.1.30", default-features = false, optional = true } +num_cpus = "1.16.0" +mimalloc = { version = "0.1.44", default-features = false, optional = true } lsp-server.workspace = true tracing.workspace = true tracing-subscriber.workspace = true tracing-tree.workspace = true triomphe.workspace = true -toml = "0.8.8" +toml = "0.8.20" nohash-hasher.workspace = true -walkdir = "2.3.2" +walkdir = "2.5.0" semver.workspace = true -memchr = "2.7.1" +memchr = "2.7.4" cargo_metadata.workspace = true process-wrap.workspace = true @@ -81,10 +81,10 @@ windows-sys = { version = "0.59", features = [ ] } [target.'cfg(not(target_env = "msvc"))'.dependencies] -jemallocator = { version = "0.5.0", package = "tikv-jemallocator", optional = true } +jemallocator = { version = "0.5.4", package = "tikv-jemallocator", optional = true } [dev-dependencies] -expect-test = "1.4.0" +expect-test = "1.5.1" xshell.workspace = true test-utils.workspace = true diff --git a/crates/rust-analyzer/src/diagnostics.rs b/crates/rust-analyzer/src/diagnostics.rs index a09d96d162..9b1463b112 100644 --- a/crates/rust-analyzer/src/diagnostics.rs +++ b/crates/rust-analyzer/src/diagnostics.rs @@ -258,7 +258,7 @@ pub(crate) fn fetch_native_diagnostics( for (file_id, group) in odd_ones .into_iter() .sorted_by_key(|it| it.range.file_id) - .group_by(|it| it.range.file_id) + .chunk_by(|it| it.range.file_id) .into_iter() { if !subscriptions.contains(&file_id) { diff --git a/crates/stdx/Cargo.toml b/crates/stdx/Cargo.toml index f6a5dedfda..76033308fe 100644 --- a/crates/stdx/Cargo.toml +++ b/crates/stdx/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -backtrace = { version = "0.3.67", optional = true } +backtrace = { version = "0.3.74", optional = true } jod-thread = "0.1.2" crossbeam-channel.workspace = true itertools.workspace = true diff --git a/crates/syntax/Cargo.toml b/crates/syntax/Cargo.toml index 7db1a4e4ba..2e90208636 100644 --- a/crates/syntax/Cargo.toml +++ b/crates/syntax/Cargo.toml @@ -27,8 +27,8 @@ stdx.workspace = true [dev-dependencies] rayon.workspace = true -expect-test = "1.4.0" -rustc_apfloat = "0.2.0" +expect-test = "1.5.1" +rustc_apfloat = "0.2.2" test-utils.workspace = true diff --git a/crates/test-utils/Cargo.toml b/crates/test-utils/Cargo.toml index f25512b2b7..c27e850ce7 100644 --- a/crates/test-utils/Cargo.toml +++ b/crates/test-utils/Cargo.toml @@ -13,7 +13,7 @@ rust-version.workspace = true [dependencies] # Avoid adding deps here, this crate is widely used in tests it should compile fast! -dissimilar = "1.0.7" +dissimilar = "1.0.10" text-size.workspace = true rustc-hash.workspace = true diff --git a/crates/toolchain/Cargo.toml b/crates/toolchain/Cargo.toml index 38daacdf95..315a3a2890 100644 --- a/crates/toolchain/Cargo.toml +++ b/crates/toolchain/Cargo.toml @@ -12,7 +12,7 @@ rust-version.workspace = true [lib] [dependencies] -home = "0.5.4" +home = "0.5.11" camino.workspace = true [lints] diff --git a/crates/vfs-notify/Cargo.toml b/crates/vfs-notify/Cargo.toml index 48b4d22de2..9b32ee17ab 100644 --- a/crates/vfs-notify/Cargo.toml +++ b/crates/vfs-notify/Cargo.toml @@ -13,7 +13,7 @@ rust-version.workspace = true [dependencies] tracing.workspace = true -walkdir = "2.3.2" +walkdir = "2.5.0" crossbeam-channel.workspace = true notify = "8.0.0" rayon = "1.10.0" diff --git a/lib/line-index/Cargo.toml b/lib/line-index/Cargo.toml index f15c2e3937..81cd364cc2 100644 --- a/lib/line-index/Cargo.toml +++ b/lib/line-index/Cargo.toml @@ -11,7 +11,7 @@ text-size = "1.1.1" nohash-hasher = "0.2.0" [dev-dependencies] -oorandom = "11.1.3" +oorandom = "11.1.5" [lints] workspace = true diff --git a/lib/lsp-server/Cargo.toml b/lib/lsp-server/Cargo.toml index 39b931561b..1dc6d3ce5d 100644 --- a/lib/lsp-server/Cargo.toml +++ b/lib/lsp-server/Cargo.toml @@ -7,15 +7,15 @@ repository = "https://github.com/rust-lang/rust-analyzer/tree/master/lib/lsp-ser edition = "2024" [dependencies] -log = "0.4.17" -serde_json = "1.0.108" -serde = { version = "1.0.216" } -serde_derive = { version = "1.0.216" } +log = "0.4.26" +serde_json = "1.0.140" +serde = { version = "1.0.219" } +serde_derive = { version = "1.0.219" } crossbeam-channel.workspace = true [dev-dependencies] lsp-types = "=0.95" -ctrlc = "3.4.1" +ctrlc = "3.4.5" [lints] workspace = true diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 01a561dcb9..6195de5d20 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -8,16 +8,16 @@ rust-version.workspace = true [dependencies] anyhow.workspace = true -directories = "5.0" -flate2 = "1.0.24" -write-json = "0.1.2" +directories = "6.0" +flate2 = "1.1.0" +write-json = "0.1.4" xshell.workspace = true -xflags = "0.3.0" +xflags = "0.3.2" time = { version = "0.3", default-features = false } -zip = { version = "0.6", default-features = false, features = ["deflate", "time"] } +zip = { version = "2.4", default-features = false, features = ["deflate-flate2", "flate2", "time"] } stdx.workspace = true -proc-macro2 = "1.0.93" -quote = "1.0.20" +proc-macro2 = "1.0.94" +quote = "1.0.40" ungrammar = "1.16.1" either.workspace = true itertools.workspace = true diff --git a/xtask/src/dist.rs b/xtask/src/dist.rs index b43639242d..35ae7965f3 100644 --- a/xtask/src/dist.rs +++ b/xtask/src/dist.rs @@ -8,7 +8,7 @@ use std::{ use flate2::{Compression, write::GzEncoder}; use time::OffsetDateTime; use xshell::{Shell, cmd}; -use zip::{DateTime, ZipWriter, write::FileOptions}; +use zip::{DateTime, ZipWriter, write::SimpleFileOptions}; use crate::{ date_iso, @@ -125,7 +125,7 @@ fn zip(src_path: &Path, symbols_path: Option<&PathBuf>, dest_path: &Path) -> any let mut writer = ZipWriter::new(BufWriter::new(file)); writer.start_file( src_path.file_name().unwrap().to_str().unwrap(), - FileOptions::default() + SimpleFileOptions::default() .last_modified_time( DateTime::try_from(OffsetDateTime::from(std::fs::metadata(src_path)?.modified()?)) .unwrap(), @@ -139,7 +139,7 @@ fn zip(src_path: &Path, symbols_path: Option<&PathBuf>, dest_path: &Path) -> any if let Some(symbols_path) = symbols_path { writer.start_file( symbols_path.file_name().unwrap().to_str().unwrap(), - FileOptions::default() + SimpleFileOptions::default() .last_modified_time( DateTime::try_from(OffsetDateTime::from( std::fs::metadata(src_path)?.modified()?,