about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2022-06-10 16:30:09 +0200
committerLukas Wirth <lukastw97@gmail.com>2022-06-10 17:30:02 +0200
commit76ae5434fabf019779067c85588045fe1a2e1399 (patch)
tree9e93ccfad3e085bce422fe37fc522ab9b6c028ee
parent0cf677ab42a37e5139efd100af153d48bfb985ae (diff)
downloadrust-76ae5434fabf019779067c85588045fe1a2e1399.tar.gz
rust-76ae5434fabf019779067c85588045fe1a2e1399.zip
internal: Bump Dependencies
-rw-r--r--Cargo.lock94
-rw-r--r--crates/cfg/Cargo.toml2
-rw-r--r--crates/flycheck/Cargo.toml6
-rw-r--r--crates/hir-def/Cargo.toml10
-rw-r--r--crates/hir-expand/Cargo.toml6
-rw-r--r--crates/hir-ty/Cargo.toml12
-rw-r--r--crates/hir/Cargo.toml2
-rw-r--r--crates/hir/src/semantics.rs11
-rw-r--r--crates/ide-assists/Cargo.toml2
-rw-r--r--crates/ide-assists/src/handlers/expand_glob_import.rs11
-rw-r--r--crates/ide-assists/src/handlers/extract_function.rs2
-rw-r--r--crates/ide-assists/src/handlers/flip_comma.rs2
-rw-r--r--crates/ide-assists/src/handlers/unwrap_block.rs2
-rw-r--r--crates/ide-completion/Cargo.toml4
-rw-r--r--crates/ide-completion/src/completions/fn_param.rs4
-rw-r--r--crates/ide-completion/src/completions/mod_.rs4
-rw-r--r--crates/ide-completion/src/completions/use_.rs2
-rw-r--r--crates/ide-completion/src/patterns.rs2
-rw-r--r--crates/ide-db/Cargo.toml12
-rw-r--r--crates/ide-db/src/syntax_helpers/format_string.rs2
-rw-r--r--crates/ide-diagnostics/Cargo.toml2
-rw-r--r--crates/ide-ssr/Cargo.toml2
-rw-r--r--crates/ide-ssr/src/replacing.rs6
-rw-r--r--crates/ide/Cargo.toml4
-rw-r--r--crates/ide/src/call_hierarchy.rs2
-rw-r--r--crates/ide/src/doc_links.rs4
-rw-r--r--crates/ide/src/doc_links/tests.rs2
-rw-r--r--crates/ide/src/expand_macro.rs6
-rw-r--r--crates/ide/src/highlight_related.rs6
-rw-r--r--crates/ide/src/hover.rs4
-rw-r--r--crates/ide/src/join_lines.rs2
-rw-r--r--crates/ide/src/signature_help.rs2
-rw-r--r--crates/ide/src/syntax_highlighting/highlight.rs2
-rw-r--r--crates/mbe/Cargo.toml2
-rw-r--r--crates/parser/Cargo.toml2
-rw-r--r--crates/proc-macro-api/Cargo.toml10
-rw-r--r--crates/proc-macro-srv/Cargo.toml6
-rw-r--r--crates/profile/Cargo.toml6
-rw-r--r--crates/project-model/Cargo.toml12
-rw-r--r--crates/rust-analyzer/Cargo.toml30
-rw-r--r--crates/rust-analyzer/tests/slow-tests/tidy.rs1
-rw-r--r--crates/sourcegen/Cargo.toml2
-rw-r--r--crates/stdx/Cargo.toml4
-rw-r--r--crates/syntax/Cargo.toml16
-rw-r--r--crates/syntax/src/algo.rs2
-rw-r--r--crates/test-utils/Cargo.toml2
-rw-r--r--crates/tt/Cargo.toml2
-rw-r--r--crates/vfs-notify/Cargo.toml2
-rw-r--r--crates/vfs/Cargo.toml2
-rw-r--r--lib/lsp-server/Cargo.toml6
-rw-r--r--xtask/Cargo.toml6
51 files changed, 181 insertions, 168 deletions
diff --git a/Cargo.lock b/Cargo.lock
index b736e00400d..49a73d60f56 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -43,9 +43,9 @@ checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc"
 
 [[package]]
 name = "anymap"
-version = "0.12.1"
+version = "1.0.0-beta.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344"
+checksum = "8f1f8f5a6f3d50d89e3797d7593a50f96bb2aaa20ca0cc7be1fb673232c91d72"
 
 [[package]]
 name = "arbitrary"
@@ -114,9 +114,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "camino"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07fd178c5af4d59e83498ef15cf3f154e1a6f9d091270cb86283c65ef44e9ef0"
+checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412"
 dependencies = [
  "serde",
 ]
@@ -350,9 +350,9 @@ dependencies = [
 
 [[package]]
 name = "expect-test"
-version = "1.2.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e3e6b28dccda91d8742195c71fbda412112c0c77febf56bf3d895d68b19db16"
+checksum = "dced95c9dcd4e3241f95841aad395f9c8d7933a3b0b524bdeb2440885c72a271"
 dependencies = [
  "dissimilar",
  "once_cell",
@@ -378,13 +378,11 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
 
 [[package]]
 name = "flate2"
-version = "1.0.23"
+version = "1.0.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
 dependencies = [
- "cfg-if",
  "crc32fast",
- "libc",
  "miniz_oxide",
 ]
 
@@ -727,9 +725,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.8.1"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee"
+checksum = "e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a"
 dependencies = [
  "autocfg",
  "hashbrown 0.11.2",
@@ -925,9 +923,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
 name = "memmap2"
-version = "0.5.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f"
+checksum = "d5172b50c23043ff43dd53e51392f36519d9b35a8f3a410d30ece5d1aedd58ae"
 dependencies = [
  "libc",
 ]
@@ -952,9 +950,9 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.1"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
+checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
 dependencies = [
  "adler",
 ]
@@ -1019,9 +1017,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.11.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b10983b38c53aebdf33f542c6275b0f58a238129d00c4ae0e6fb59738d783ca"
+checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
 
 [[package]]
 name = "oorandom"
@@ -1042,9 +1040,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
  "parking_lot_core 0.9.3",
@@ -1291,9 +1289,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.5.5"
+version = "1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
+checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1"
 dependencies = [
  "regex-syntax",
 ]
@@ -1309,15 +1307,15 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.25"
+version = "0.6.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
 
 [[package]]
 name = "rowan"
-version = "0.15.4"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c1112d7b23c800be3a0dae244886b71d96b1461b57b31b56e4c679acbe614f"
+checksum = "ce1f383129e417a6265b16ed78e6e9307748f0863b2ba75f78ff14717db5b017"
 dependencies = [
  "countme",
  "hashbrown 0.12.1",
@@ -1351,7 +1349,7 @@ dependencies = [
  "mimalloc",
  "num_cpus",
  "oorandom",
- "parking_lot 0.12.0",
+ "parking_lot 0.12.1",
  "proc-macro-api",
  "proc-macro-srv",
  "profile",
@@ -1458,9 +1456,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
 name = "semver"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd"
+checksum = "a41d061efea015927ac527063765e73601444cdc344ba855bc7bd44578b25e1c"
 dependencies = [
  "serde",
 ]
@@ -1558,9 +1556,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.95"
+version = "1.0.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942"
+checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1649,9 +1647,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemalloc-ctl"
-version = "0.4.2"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb833c46ecbf8b6daeccb347cefcabf9c1beb5c9b0f853e1cec45632d9963e69"
+checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1"
 dependencies = [
  "libc",
  "paste",
@@ -1660,9 +1658,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemalloc-sys"
-version = "0.4.3+5.2.1-patched.2"
+version = "0.5.0+5.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49"
+checksum = "aeab4310214fe0226df8bfeb893a291a58b19682e8a07e1e1d4483ad4200d315"
 dependencies = [
  "cc",
  "fs_extra",
@@ -1671,9 +1669,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemallocator"
-version = "0.4.3"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5b7bcecfafe4998587d636f9ae9d55eb9d0499877b88757767c346875067098"
+checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979"
 dependencies = [
  "libc",
  "tikv-jemalloc-sys",
@@ -1703,9 +1701,9 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.34"
+version = "0.1.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09"
+checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160"
 dependencies = [
  "cfg-if",
  "pin-project-lite",
@@ -1726,11 +1724,11 @@ dependencies = [
 
 [[package]]
 name = "tracing-core"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f"
+checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921"
 dependencies = [
- "lazy_static",
+ "once_cell",
  "valuable",
 ]
 
@@ -1763,9 +1761,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-tree"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ce989c9962c7f61fe084dd4a230eec784649dfc2392467c790007c3a6e134e7"
+checksum = "d07e90b329c621ade432823988574e820212648aa40e7a2497777d58de0fb453"
 dependencies = [
  "ansi_term",
  "atty",
@@ -2041,18 +2039,18 @@ checksum = "45d11d5fc2a97287eded8b170ca80533b3c42646dd7fa386a5eb045817921022"
 
 [[package]]
 name = "xshell"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4884417669886d3abff14feec797179526ade713f212e54ec08b19bc6bdc86aa"
+checksum = "6d47097dc5c85234b1e41851b3422dd6d19b3befdd35b4ae5ce386724aeca981"
 dependencies = [
  "xshell-macros",
 ]
 
 [[package]]
 name = "xshell-macros"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37d92065701c3611323f96eac5475b995421fc7eb2bcba1336cdd80b9b2fb68f"
+checksum = "88301b56c26dd9bf5c43d858538f82d6f3f7764767defbc5d34e59459901c41a"
 
 [[package]]
 name = "xtask"
diff --git a/crates/cfg/Cargo.toml b/crates/cfg/Cargo.toml
index 5c510db83bb..9db9bfdb6a4 100644
--- a/crates/cfg/Cargo.toml
+++ b/crates/cfg/Cargo.toml
@@ -17,7 +17,7 @@ tt = { path = "../tt", version = "0.0.0" }
 [dev-dependencies]
 mbe = { path = "../mbe" }
 syntax = { path = "../syntax" }
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 oorandom = "11.1.3"
 # 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`
diff --git a/crates/flycheck/Cargo.toml b/crates/flycheck/Cargo.toml
index c33d8937448..ff1028cf623 100644
--- a/crates/flycheck/Cargo.toml
+++ b/crates/flycheck/Cargo.toml
@@ -11,10 +11,10 @@ doctest = false
 
 [dependencies]
 crossbeam-channel = "0.5.4"
-tracing = "0.1.32"
+tracing = "0.1.35"
 cargo_metadata = "0.14.2"
-serde = { version = "1.0.136", features = ["derive"] }
-serde_json = "1.0.79"
+serde = { version = "1.0.137", features = ["derive"] }
+serde_json = "1.0.81"
 jod-thread = "0.1.2"
 
 toolchain = { path = "../toolchain", version = "0.0.0" }
diff --git a/crates/hir-def/Cargo.toml b/crates/hir-def/Cargo.toml
index def8428d732..cc276d402bb 100644
--- a/crates/hir-def/Cargo.toml
+++ b/crates/hir-def/Cargo.toml
@@ -10,7 +10,7 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-anymap = "0.12.1"
+anymap = "1.0.0-beta.2"
 arrayvec = "0.7.2"
 bitflags = "1.3.2"
 cov-mark = "2.0.0-pre.1"
@@ -20,13 +20,13 @@ drop_bomb = "0.1.5"
 either = "1.6.1"
 fst = { version = "0.4.7", default-features = false }
 hashbrown = { version = "0.12.1", default-features = false }
-indexmap = "1.8.0"
+indexmap = "1.8.2"
 itertools = "0.10.3"
 la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 rustc-hash = "1.1.0"
 smallvec = "1.8.0"
-tracing = "0.1.32"
+tracing = "0.1.35"
 
 stdx = { path = "../stdx", version = "0.0.0" }
 base-db = { path = "../base-db", version = "0.0.0" }
@@ -40,4 +40,4 @@ limit = { path = "../limit", version = "0.0.0" }
 
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
-expect-test = "1.2.2"
+expect-test = "1.3.0"
diff --git a/crates/hir-expand/Cargo.toml b/crates/hir-expand/Cargo.toml
index 2a7e26fa2e9..9e72f27ea4e 100644
--- a/crates/hir-expand/Cargo.toml
+++ b/crates/hir-expand/Cargo.toml
@@ -11,12 +11,12 @@ doctest = false
 
 [dependencies]
 cov-mark = "2.0.0-pre.1"
-tracing = "0.1.32"
+tracing = "0.1.35"
 either = "1.6.1"
 rustc-hash = "1.1.0"
 la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
 itertools = "0.10.3"
-hashbrown = { version = "0.12.0", features = [
+hashbrown = { version = "0.12.1", features = [
     "inline-more",
 ], default-features = false }
 
@@ -29,4 +29,4 @@ mbe = { path = "../mbe", version = "0.0.0" }
 limit = { path = "../limit", version = "0.0.0" }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
diff --git a/crates/hir-ty/Cargo.toml b/crates/hir-ty/Cargo.toml
index 10362f390bb..4c5bd2c89c9 100644
--- a/crates/hir-ty/Cargo.toml
+++ b/crates/hir-ty/Cargo.toml
@@ -15,14 +15,14 @@ itertools = "0.10.3"
 arrayvec = "0.7.2"
 smallvec = "1.8.0"
 ena = "0.14.0"
-tracing = "0.1.32"
+tracing = "0.1.35"
 rustc-hash = "1.1.0"
 scoped-tls = "1.0.0"
 chalk-solve = { version = "0.82.0", default-features = false }
 chalk-ir = "0.82.0"
 chalk-recursive = { version = "0.82.0", default-features = false }
 la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 typed-arena = "2.0.1"
 
 stdx = { path = "../stdx", version = "0.0.0" }
@@ -35,10 +35,10 @@ limit = { path = "../limit", version = "0.0.0" }
 
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
-expect-test = "1.2.2"
-tracing = "0.1.32"
-tracing-subscriber = { version = "0.3.9", default-features = false, features = [
+expect-test = "1.3.0"
+tracing = "0.1.35"
+tracing-subscriber = { version = "0.3.11", default-features = false, features = [
     "env-filter",
     "registry",
 ] }
-tracing-tree = "0.2.0"
+tracing-tree = "0.2.1"
diff --git a/crates/hir/Cargo.toml b/crates/hir/Cargo.toml
index 1cffd823f26..8f59d0dafea 100644
--- a/crates/hir/Cargo.toml
+++ b/crates/hir/Cargo.toml
@@ -15,7 +15,7 @@ either = "1.6.1"
 arrayvec = "0.7.2"
 itertools = "0.10.3"
 smallvec = "1.8.0"
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 
 stdx = { path = "../stdx", version = "0.0.0" }
 syntax = { path = "../syntax", version = "0.0.0" }
diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs
index 282e9c0a4bd..592e7d3b977 100644
--- a/crates/hir/src/semantics.rs
+++ b/crates/hir/src/semantics.rs
@@ -618,7 +618,7 @@ impl<'db> SemanticsImpl<'db> {
 
         if first == last {
             self.descend_into_macros_impl(first, &mut |InFile { value, .. }| {
-                if let Some(node) = value.ancestors().find_map(N::cast) {
+                if let Some(node) = value.parent_ancestors().find_map(N::cast) {
                     res.push(node)
                 }
                 false
@@ -737,7 +737,7 @@ impl<'db> SemanticsImpl<'db> {
             let was_not_remapped = (|| {
                 // are we inside an attribute macro call
                 let containing_attribute_macro_call = self.with_ctx(|ctx| {
-                    token.value.ancestors().filter_map(ast::Item::cast).find_map(|item| {
+                    token.value.parent_ancestors().filter_map(ast::Item::cast).find_map(|item| {
                         if item.attrs().next().is_none() {
                             // Don't force populate the dyn cache for items that don't have an attribute anyways
                             return None;
@@ -758,7 +758,12 @@ impl<'db> SemanticsImpl<'db> {
                 // or are we inside a function-like macro call
                 if let Some(tt) =
                     // FIXME replace map.while_some with take_while once stable
-                    token.value.ancestors().map(ast::TokenTree::cast).while_some().last()
+                    token
+                        .value
+                        .parent_ancestors()
+                        .map(ast::TokenTree::cast)
+                        .while_some()
+                        .last()
                 {
                     let parent = tt.syntax().parent()?;
                     // check for derive attribute here
diff --git a/crates/ide-assists/Cargo.toml b/crates/ide-assists/Cargo.toml
index d86de2cca4b..9e7c99f74e4 100644
--- a/crates/ide-assists/Cargo.toml
+++ b/crates/ide-assists/Cargo.toml
@@ -25,4 +25,4 @@ hir = { path = "../hir", version = "0.0.0" }
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
 sourcegen = { path = "../sourcegen" }
-expect-test = "1.2.2"
+expect-test = "1.3.0"
diff --git a/crates/ide-assists/src/handlers/expand_glob_import.rs b/crates/ide-assists/src/handlers/expand_glob_import.rs
index ba5a47f4df8..b5a5694d01c 100644
--- a/crates/ide-assists/src/handlers/expand_glob_import.rs
+++ b/crates/ide-assists/src/handlers/expand_glob_import.rs
@@ -93,7 +93,7 @@ pub(crate) fn expand_glob_import(acc: &mut Assists, ctx: &AssistContext) -> Opti
 fn find_parent_and_path(
     star: &SyntaxToken,
 ) -> Option<(Either<ast::UseTree, ast::UseTreeList>, ast::Path)> {
-    return star.ancestors().find_map(|n| {
+    return star.parent_ancestors().find_map(|n| {
         find_use_tree_list(n.clone())
             .map(|(u, p)| (Either::Right(u), p))
             .or_else(|| find_use_tree(n).map(|(u, p)| (Either::Left(u), p)))
@@ -203,8 +203,13 @@ fn is_mod_visible_from(ctx: &AssistContext, module: Module, from: Module) -> boo
 // use baz::Baz;
 // ↑ ---------------
 fn find_imported_defs(ctx: &AssistContext, star: SyntaxToken) -> Option<Vec<Definition>> {
-    let parent_use_item_syntax =
-        star.ancestors().find_map(|n| if ast::Use::can_cast(n.kind()) { Some(n) } else { None })?;
+    let parent_use_item_syntax = star.parent_ancestors().find_map(|n| {
+        if ast::Use::can_cast(n.kind()) {
+            Some(n)
+        } else {
+            None
+        }
+    })?;
 
     Some(
         [Direction::Prev, Direction::Next]
diff --git a/crates/ide-assists/src/handlers/extract_function.rs b/crates/ide-assists/src/handlers/extract_function.rs
index 4df7c4177c8..463d6f33863 100644
--- a/crates/ide-assists/src/handlers/extract_function.rs
+++ b/crates/ide-assists/src/handlers/extract_function.rs
@@ -1017,7 +1017,7 @@ fn path_element_of_reference(
         stdx::never!(false, "cannot find token at variable usage: {:?}", reference);
         None
     })?;
-    let path = token.ancestors().find_map(ast::Expr::cast).or_else(|| {
+    let path = token.parent_ancestors().find_map(ast::Expr::cast).or_else(|| {
         stdx::never!(false, "cannot find path parent of variable usage: {:?}", token);
         None
     })?;
diff --git a/crates/ide-assists/src/handlers/flip_comma.rs b/crates/ide-assists/src/handlers/flip_comma.rs
index 99be5e090ce..dc6965cfef3 100644
--- a/crates/ide-assists/src/handlers/flip_comma.rs
+++ b/crates/ide-assists/src/handlers/flip_comma.rs
@@ -30,7 +30,7 @@ pub(crate) fn flip_comma(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
 
     // Don't apply a "flip" inside the macro call
     // since macro input are just mere tokens
-    if comma.ancestors().any(|it| it.kind() == SyntaxKind::MACRO_CALL) {
+    if comma.parent_ancestors().any(|it| it.kind() == SyntaxKind::MACRO_CALL) {
         return None;
     }
 
diff --git a/crates/ide-assists/src/handlers/unwrap_block.rs b/crates/ide-assists/src/handlers/unwrap_block.rs
index 42c5e6f0883..45336d704df 100644
--- a/crates/ide-assists/src/handlers/unwrap_block.rs
+++ b/crates/ide-assists/src/handlers/unwrap_block.rs
@@ -30,7 +30,7 @@ pub(crate) fn unwrap_block(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
     let assist_label = "Unwrap block";
 
     let l_curly_token = ctx.find_token_syntax_at_offset(T!['{'])?;
-    let mut block = ast::BlockExpr::cast(l_curly_token.ancestors().nth(1)?)?;
+    let mut block = ast::BlockExpr::cast(l_curly_token.parent_ancestors().nth(1)?)?;
     let target = block.syntax().text_range();
     let mut parent = block.syntax().parent()?;
     if ast::MatchArm::can_cast(parent.kind()) {
diff --git a/crates/ide-completion/Cargo.toml b/crates/ide-completion/Cargo.toml
index 4369e11bd71..2dee2579eb8 100644
--- a/crates/ide-completion/Cargo.toml
+++ b/crates/ide-completion/Cargo.toml
@@ -13,7 +13,7 @@ doctest = false
 cov-mark = "2.0.0-pre.1"
 itertools = "0.10.3"
 
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 smallvec = "1.8.0"
 
 stdx = { path = "../stdx", version = "0.0.0" }
@@ -28,6 +28,6 @@ profile = { path = "../profile", version = "0.0.0" }
 hir = { path = "../hir", version = "0.0.0" }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 
 test-utils = { path = "../test-utils" }
diff --git a/crates/ide-completion/src/completions/fn_param.rs b/crates/ide-completion/src/completions/fn_param.rs
index 0cdb8ee1190..67648ac17b5 100644
--- a/crates/ide-completion/src/completions/fn_param.rs
+++ b/crates/ide-completion/src/completions/fn_param.rs
@@ -73,7 +73,7 @@ fn fill_fn_params(
         });
     };
 
-    for node in ctx.token.ancestors() {
+    for node in ctx.token.parent_ancestors() {
         match_ast! {
             match node {
                 ast::SourceFile(it) => it.items().filter_map(|item| match item {
@@ -159,7 +159,7 @@ fn should_add_self_completions(ctx: &CompletionContext, param_list: &ast::ParamL
 }
 
 fn comma_wrapper(ctx: &CompletionContext) -> Option<(impl Fn(&str) -> String, TextRange)> {
-    let param = ctx.token.ancestors().find(|node| node.kind() == SyntaxKind::PARAM)?;
+    let param = ctx.token.parent_ancestors().find(|node| node.kind() == SyntaxKind::PARAM)?;
 
     let next_token_kind = {
         let t = param.last_token()?.next_token()?;
diff --git a/crates/ide-completion/src/completions/mod_.rs b/crates/ide-completion/src/completions/mod_.rs
index 78d0ef7122a..3e03528f0cd 100644
--- a/crates/ide-completion/src/completions/mod_.rs
+++ b/crates/ide-completion/src/completions/mod_.rs
@@ -30,7 +30,9 @@ pub(crate) fn complete_mod(acc: &mut Completions, ctx: &CompletionContext) -> Op
     // For `mod $0`, `ctx.module` is its parent, but for `mod f$0`, it's `mod f` itself, but we're
     // interested in its parent.
     if ctx.original_token.kind() == SyntaxKind::IDENT {
-        if let Some(module) = ctx.original_token.ancestors().nth(1).and_then(ast::Module::cast) {
+        if let Some(module) =
+            ctx.original_token.parent_ancestors().nth(1).and_then(ast::Module::cast)
+        {
             match ctx.sema.to_def(&module) {
                 Some(module) if module == current_module => {
                     if let Some(parent) = current_module.parent(ctx.db) {
diff --git a/crates/ide-completion/src/completions/use_.rs b/crates/ide-completion/src/completions/use_.rs
index f1beeb454c8..bc717f6da8a 100644
--- a/crates/ide-completion/src/completions/use_.rs
+++ b/crates/ide-completion/src/completions/use_.rs
@@ -42,7 +42,7 @@ pub(crate) fn complete_use_tree(acc: &mut Completions, ctx: &CompletionContext)
             };
 
             let mut already_imported_names = FxHashSet::default();
-            if let Some(list) = ctx.token.ancestors().find_map(ast::UseTreeList::cast) {
+            if let Some(list) = ctx.token.parent_ancestors().find_map(ast::UseTreeList::cast) {
                 let use_tree = list.parent_use_tree();
                 if use_tree.path().as_ref() == Some(path) {
                     for tree in list.use_trees().filter(|tree| tree.is_simple_path()) {
diff --git a/crates/ide-completion/src/patterns.rs b/crates/ide-completion/src/patterns.rs
index 761c97b9a96..bc46ff7f2d7 100644
--- a/crates/ide-completion/src/patterns.rs
+++ b/crates/ide-completion/src/patterns.rs
@@ -178,7 +178,7 @@ pub(crate) fn is_in_token_of_for_loop(element: SyntaxElement) -> bool {
     (|| {
         let syntax_token = element.into_token()?;
         let range = syntax_token.text_range();
-        let for_expr = syntax_token.ancestors().find_map(ast::ForExpr::cast)?;
+        let for_expr = syntax_token.parent_ancestors().find_map(ast::ForExpr::cast)?;
 
         // check if the current token is the `in` token of a for loop
         if let Some(token) = for_expr.in_token() {
diff --git a/crates/ide-db/Cargo.toml b/crates/ide-db/Cargo.toml
index c5f0cb3c014..d22f87994f6 100644
--- a/crates/ide-db/Cargo.toml
+++ b/crates/ide-db/Cargo.toml
@@ -11,15 +11,15 @@ doctest = false
 
 [dependencies]
 cov-mark = "2.0.0-pre.1"
-tracing = "0.1.32"
-rayon = "1.5.1"
+tracing = "0.1.35"
+rayon = "1.5.3"
 fst = { version = "0.4.7", default-features = false }
 rustc-hash = "1.1.0"
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 either = "1.6.1"
 itertools = "0.10.3"
 arrayvec = "0.7.2"
-indexmap = "1.8.0"
+indexmap = "1.8.2"
 
 stdx = { path = "../stdx", version = "0.0.0" }
 parser = { path = "../parser", version = "0.0.0" }
@@ -35,5 +35,5 @@ limit = { path = "../limit", version = "0.0.0" }
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
 sourcegen = { path = "../sourcegen" }
-xshell = "0.2.1"
-expect-test = "1.2.2"
+xshell = "0.2.2"
+expect-test = "1.3.0"
diff --git a/crates/ide-db/src/syntax_helpers/format_string.rs b/crates/ide-db/src/syntax_helpers/format_string.rs
index 819134a255d..f48a5700866 100644
--- a/crates/ide-db/src/syntax_helpers/format_string.rs
+++ b/crates/ide-db/src/syntax_helpers/format_string.rs
@@ -14,7 +14,7 @@ pub fn is_format_string(string: &ast::String) -> bool {
     // This setup lets us correctly highlight the components of `concat!("{}", "bla")` format
     // strings. It still fails for `concat!("{", "}")`, but that is rare.
     (|| {
-        let macro_call = string.syntax().ancestors().find_map(ast::MacroCall::cast)?;
+        let macro_call = string.syntax().parent_ancestors().find_map(ast::MacroCall::cast)?;
         let name = macro_call.path()?.segment()?.name_ref()?;
 
         if !matches!(
diff --git a/crates/ide-diagnostics/Cargo.toml b/crates/ide-diagnostics/Cargo.toml
index f59da69dfb1..f37e754feaf 100644
--- a/crates/ide-diagnostics/Cargo.toml
+++ b/crates/ide-diagnostics/Cargo.toml
@@ -25,7 +25,7 @@ hir = { path = "../hir", version = "0.0.0" }
 ide-db = { path = "../ide-db", version = "0.0.0" }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 
 test-utils = { path = "../test-utils" }
 sourcegen = { path = "../sourcegen" }
diff --git a/crates/ide-ssr/Cargo.toml b/crates/ide-ssr/Cargo.toml
index a6ffa51b4e0..20e02d47825 100644
--- a/crates/ide-ssr/Cargo.toml
+++ b/crates/ide-ssr/Cargo.toml
@@ -23,4 +23,4 @@ hir = { path = "../hir", version = "0.0.0" }
 
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
-expect-test = "1.2.2"
+expect-test = "1.3.0"
diff --git a/crates/ide-ssr/src/replacing.rs b/crates/ide-ssr/src/replacing.rs
index 1726d5701a4..e27ef6e35ef 100644
--- a/crates/ide-ssr/src/replacing.rs
+++ b/crates/ide-ssr/src/replacing.rs
@@ -209,8 +209,10 @@ impl ReplacementRenderer<'_> {
 fn token_is_method_call_receiver(token: &SyntaxToken) -> bool {
     // Find the first method call among the ancestors of `token`, then check if the only token
     // within the receiver is `token`.
-    if let Some(receiver) =
-        token.ancestors().find_map(ast::MethodCallExpr::cast).and_then(|call| call.receiver())
+    if let Some(receiver) = token
+        .parent_ancestors()
+        .find_map(ast::MethodCallExpr::cast)
+        .and_then(|call| call.receiver())
     {
         let tokens = receiver.syntax().descendants_with_tokens().filter_map(|node_or_token| {
             match node_or_token {
diff --git a/crates/ide/Cargo.toml b/crates/ide/Cargo.toml
index 23cd0f64433..64263161a9b 100644
--- a/crates/ide/Cargo.toml
+++ b/crates/ide/Cargo.toml
@@ -14,7 +14,7 @@ cov-mark = "2.0.0-pre.1"
 crossbeam-channel = "0.5.4"
 either = "1.6.1"
 itertools = "0.10.3"
-tracing = "0.1.32"
+tracing = "0.1.35"
 oorandom = "11.1.3"
 pulldown-cmark-to-cmark = "10.0.1"
 pulldown-cmark = { version = "0.9.1", default-features = false }
@@ -41,4 +41,4 @@ toolchain = { path = "../toolchain", version = "0.0.0" }
 
 [dev-dependencies]
 test-utils = { path = "../test-utils" }
-expect-test = "1.2.2"
+expect-test = "1.3.0"
diff --git a/crates/ide/src/call_hierarchy.rs b/crates/ide/src/call_hierarchy.rs
index b43de6b9e2d..a18a6bea979 100644
--- a/crates/ide/src/call_hierarchy.rs
+++ b/crates/ide/src/call_hierarchy.rs
@@ -86,7 +86,7 @@ pub(crate) fn outgoing_calls(db: &RootDatabase, position: FilePosition) -> Optio
 
     sema.descend_into_macros(token)
         .into_iter()
-        .filter_map(|it| it.ancestors().nth(1).and_then(ast::Item::cast))
+        .filter_map(|it| it.parent_ancestors().nth(1).and_then(ast::Item::cast))
         .filter_map(|item| match item {
             ast::Item::Const(c) => c.body().map(|it| it.syntax().descendants()),
             ast::Item::Fn(f) => f.body().map(|it| it.syntax().descendants()),
diff --git a/crates/ide/src/doc_links.rs b/crates/ide/src/doc_links.rs
index 60fad2d5db2..08085ac7841 100644
--- a/crates/ide/src/doc_links.rs
+++ b/crates/ide/src/doc_links.rs
@@ -231,7 +231,7 @@ pub(crate) fn token_as_doc_comment(doc_token: &SyntaxToken) -> Option<DocComment
     (match_ast! {
         match doc_token {
             ast::Comment(comment) => TextSize::try_from(comment.prefix().len()).ok(),
-            ast::String(string) => doc_token.ancestors().find_map(ast::Attr::cast)
+            ast::String(string) => doc_token.parent_ancestors().find_map(ast::Attr::cast)
                 .filter(|attr| attr.simple_name().as_deref() == Some("doc")).and_then(|_| string.open_quote_text_range().map(|it| it.len())),
             _ => None,
         }
@@ -255,7 +255,7 @@ impl DocCommentToken {
             let (node, descended_prefix_len) = match_ast! {
                 match t {
                     ast::Comment(comment) => (t.parent()?, TextSize::try_from(comment.prefix().len()).ok()?),
-                    ast::String(string) => (t.ancestors().skip_while(|n| n.kind() != ATTR).nth(1)?, string.open_quote_text_range()?.len()),
+                    ast::String(string) => (t.parent_ancestors().skip_while(|n| n.kind() != ATTR).nth(1)?, string.open_quote_text_range()?.len()),
                     _ => return None,
                 }
             };
diff --git a/crates/ide/src/doc_links/tests.rs b/crates/ide/src/doc_links/tests.rs
index 86fed390a8c..2cba5081c11 100644
--- a/crates/ide/src/doc_links/tests.rs
+++ b/crates/ide/src/doc_links/tests.rs
@@ -61,7 +61,7 @@ fn def_under_cursor(
         .token_at_offset(position.offset)
         .left_biased()
         .unwrap()
-        .ancestors()
+        .parent_ancestors()
         .find_map(|it| node_to_def(sema, &it))
         .expect("no def found")
         .unwrap();
diff --git a/crates/ide/src/expand_macro.rs b/crates/ide/src/expand_macro.rs
index 806f816898b..d36670e983f 100644
--- a/crates/ide/src/expand_macro.rs
+++ b/crates/ide/src/expand_macro.rs
@@ -46,10 +46,10 @@ pub(crate) fn expand_macro(db: &RootDatabase, position: FilePosition) -> Option<
             return None;
         }
 
-        let name = descended.ancestors().filter_map(ast::Path::cast).last()?.to_string();
+        let name = descended.parent_ancestors().filter_map(ast::Path::cast).last()?.to_string();
         // up map out of the #[derive] expansion
         let token = hir::InFile::new(hir_file, descended).upmap(db)?.value;
-        let attr = token.ancestors().find_map(ast::Attr::cast)?;
+        let attr = token.parent_ancestors().find_map(ast::Attr::cast)?;
         let expansions = sema.expand_derive_macro(&attr)?;
         let idx = attr
             .token_tree()?
@@ -69,7 +69,7 @@ pub(crate) fn expand_macro(db: &RootDatabase, position: FilePosition) -> Option<
 
     // FIXME: Intermix attribute and bang! expansions
     // currently we only recursively expand one of the two types
-    let mut anc = tok.ancestors();
+    let mut anc = tok.parent_ancestors();
     let (name, expanded, kind) = loop {
         let node = anc.next()?;
 
diff --git a/crates/ide/src/highlight_related.rs b/crates/ide/src/highlight_related.rs
index 2aa4fbf55ea..5b235e71ace 100644
--- a/crates/ide/src/highlight_related.rs
+++ b/crates/ide/src/highlight_related.rs
@@ -183,7 +183,7 @@ fn highlight_exit_points(
         }
         Some(highlights)
     }
-    for anc in token.ancestors() {
+    for anc in token.parent_ancestors() {
         return match_ast! {
             match anc {
                 ast::Fn(fn_) => hl(sema, fn_.body().map(ast::Expr::BlockExpr)),
@@ -254,7 +254,7 @@ fn highlight_break_points(token: SyntaxToken) -> Option<Vec<HighlightedRange>> {
         None => true,
     };
     let token_kind = token.kind();
-    for anc in token.ancestors().flat_map(ast::Expr::cast) {
+    for anc in token.parent_ancestors().flat_map(ast::Expr::cast) {
         return match anc {
             ast::Expr::LoopExpr(l) if label_matches(l.label()) => hl(
                 token_kind,
@@ -302,7 +302,7 @@ fn highlight_yield_points(token: SyntaxToken) -> Option<Vec<HighlightedRange>> {
         }
         Some(highlights)
     }
-    for anc in token.ancestors() {
+    for anc in token.parent_ancestors() {
         return match_ast! {
             match anc {
                 ast::Fn(fn_) => hl(fn_.async_token(), fn_.body().map(ast::Expr::BlockExpr)),
diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs
index d2d367c8c55..3372d74af6b 100644
--- a/crates/ide/src/hover.rs
+++ b/crates/ide/src/hover.rs
@@ -119,7 +119,7 @@ pub(crate) fn hover(
 
     // FIXME: Definition should include known lints and the like instead of having this special case here
     let hovered_lint = descended.iter().find_map(|token| {
-        let attr = token.ancestors().find_map(ast::Attr::cast)?;
+        let attr = token.parent_ancestors().find_map(ast::Attr::cast)?;
         render::try_for_lint(&attr, token)
     });
     if let Some(res) = hovered_lint {
@@ -238,7 +238,7 @@ fn hover_type_fallback(
     original_token: &SyntaxToken,
 ) -> Option<RangeInfo<HoverResult>> {
     let node = token
-        .ancestors()
+        .parent_ancestors()
         .take_while(|it| !ast::Item::can_cast(it.kind()))
         .find(|n| ast::Expr::can_cast(n.kind()) || ast::Pat::can_cast(n.kind()))?;
 
diff --git a/crates/ide/src/join_lines.rs b/crates/ide/src/join_lines.rs
index 00ff9ed31b8..08621addeef 100644
--- a/crates/ide/src/join_lines.rs
+++ b/crates/ide/src/join_lines.rs
@@ -209,7 +209,7 @@ fn remove_newline(
 }
 
 fn join_single_expr_block(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Option<()> {
-    let block_expr = ast::BlockExpr::cast(token.ancestors().nth(1)?)?;
+    let block_expr = ast::BlockExpr::cast(token.parent_ancestors().nth(1)?)?;
     if !block_expr.is_standalone() {
         return None;
     }
diff --git a/crates/ide/src/signature_help.rs b/crates/ide/src/signature_help.rs
index cb38f48f32a..871c9951223 100644
--- a/crates/ide/src/signature_help.rs
+++ b/crates/ide/src/signature_help.rs
@@ -68,7 +68,7 @@ pub(crate) fn signature_help(db: &RootDatabase, position: FilePosition) -> Optio
         .and_then(|tok| algo::skip_trivia_token(tok, Direction::Prev))?;
     let token = sema.descend_into_macros_single(token);
 
-    for node in token.ancestors() {
+    for node in token.parent_ancestors() {
         match_ast! {
             match node {
                 ast::ArgList(arg_list) => {
diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs
index 198e17db535..4c5bdfd967c 100644
--- a/crates/ide/src/syntax_highlighting/highlight.rs
+++ b/crates/ide/src/syntax_highlighting/highlight.rs
@@ -27,7 +27,7 @@ pub(super) fn token(sema: &Semantics<RootDatabase>, token: SyntaxToken) -> Optio
 
     let highlight: Highlight = match token.kind() {
         STRING | BYTE_STRING => HlTag::StringLiteral.into(),
-        INT_NUMBER if token.ancestors().nth(1).map(|it| it.kind()) == Some(FIELD_EXPR) => {
+        INT_NUMBER if token.parent_ancestors().nth(1).map(|it| it.kind()) == Some(FIELD_EXPR) => {
             SymbolKind::Field.into()
         }
         INT_NUMBER | FLOAT_NUMBER => HlTag::NumericLiteral.into(),
diff --git a/crates/mbe/Cargo.toml b/crates/mbe/Cargo.toml
index d6d15dd19d8..66581d6def9 100644
--- a/crates/mbe/Cargo.toml
+++ b/crates/mbe/Cargo.toml
@@ -13,7 +13,7 @@ doctest = false
 cov-mark = "2.0.0-pre.1"
 rustc-hash = "1.1.0"
 smallvec = "1.8.0"
-tracing = "0.1.32"
+tracing = "0.1.35"
 
 syntax = { path = "../syntax", version = "0.0.0" }
 parser = { path = "../parser", version = "0.0.0" }
diff --git a/crates/parser/Cargo.toml b/crates/parser/Cargo.toml
index 8105b536b73..8b9a4c2d899 100644
--- a/crates/parser/Cargo.toml
+++ b/crates/parser/Cargo.toml
@@ -15,5 +15,5 @@ rustc_lexer = { version = "725.0.0", package = "rustc-ap-rustc_lexer" }
 limit = { path = "../limit", version = "0.0.0" }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 sourcegen = { path = "../sourcegen" }
diff --git a/crates/proc-macro-api/Cargo.toml b/crates/proc-macro-api/Cargo.toml
index df2cbcaf307..88bbaee5a8e 100644
--- a/crates/proc-macro-api/Cargo.toml
+++ b/crates/proc-macro-api/Cargo.toml
@@ -10,17 +10,17 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-object = { version = "0.28.3", default-features = false, features = [
+object = { version = "0.28.4", default-features = false, features = [
     "std",
     "read_core",
     "elf",
     "macho",
     "pe",
 ] }
-serde = { version = "1.0.136", features = ["derive"] }
-serde_json = { version = "1.0.79", features = ["unbounded_depth"] }
-tracing = "0.1.32"
-memmap2 = "0.5.3"
+serde = { version = "1.0.137", features = ["derive"] }
+serde_json = { version = "1.0.81", features = ["unbounded_depth"] }
+tracing = "0.1.35"
+memmap2 = "0.5.4"
 snap = "1.0.5"
 
 paths = { path = "../paths", version = "0.0.0" }
diff --git a/crates/proc-macro-srv/Cargo.toml b/crates/proc-macro-srv/Cargo.toml
index 01bc8878bb1..e7000a259ff 100644
--- a/crates/proc-macro-srv/Cargo.toml
+++ b/crates/proc-macro-srv/Cargo.toml
@@ -10,7 +10,7 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-object = { version = "0.28.3", default-features = false, features = [
+object = { version = "0.28.4", default-features = false, features = [
     "std",
     "read_core",
     "elf",
@@ -18,7 +18,7 @@ object = { version = "0.28.3", default-features = false, features = [
     "pe",
 ] }
 libloading = "0.7.3"
-memmap2 = "0.5.3"
+memmap2 = "0.5.4"
 
 tt = { path = "../tt", version = "0.0.0" }
 mbe = { path = "../mbe", version = "0.0.0" }
@@ -26,7 +26,7 @@ paths = { path = "../paths", version = "0.0.0" }
 proc-macro-api = { path = "../proc-macro-api", version = "0.0.0" }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 
 # used as proc macro test targets
 proc-macro-test = { path = "../proc-macro-test" }
diff --git a/crates/profile/Cargo.toml b/crates/profile/Cargo.toml
index f37b362ebd6..0b78a45a24b 100644
--- a/crates/profile/Cargo.toml
+++ b/crates/profile/Cargo.toml
@@ -10,12 +10,12 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-once_cell = "1.10.0"
+once_cell = "1.12.0"
 cfg-if = "1.0.0"
-libc = "0.2.121"
+libc = "0.2.126"
 la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
 countme = { version = "3.0.1", features = ["enable"] }
-jemalloc-ctl = { version = "0.4.2", package = "tikv-jemalloc-ctl", optional = true }
+jemalloc-ctl = { version = "0.5.0", package = "tikv-jemalloc-ctl", optional = true }
 
 [target.'cfg(target_os = "linux")'.dependencies]
 perf-event = "0.4.7"
diff --git a/crates/project-model/Cargo.toml b/crates/project-model/Cargo.toml
index ecf3bcc8aba..35465d0861f 100644
--- a/crates/project-model/Cargo.toml
+++ b/crates/project-model/Cargo.toml
@@ -10,14 +10,14 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-tracing = "0.1.32"
+tracing = "0.1.35"
 rustc-hash = "1.1.0"
 cargo_metadata = "0.14.2"
-semver = "1.0.6"
-serde = { version = "1.0.136", features = ["derive"] }
-serde_json = "1.0.79"
-anyhow = "1.0.56"
-expect-test = "1.2.2"
+semver = "1.0.10"
+serde = { version = "1.0.137", features = ["derive"] }
+serde_json = "1.0.81"
+anyhow = "1.0.57"
+expect-test = "1.3.0"
 la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
 
 cfg = { path = "../cfg", version = "0.0.0" }
diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml
index 133459bf1d2..04c986f0f2e 100644
--- a/crates/rust-analyzer/Cargo.toml
+++ b/crates/rust-analyzer/Cargo.toml
@@ -18,31 +18,31 @@ name = "rust-analyzer"
 path = "src/bin/main.rs"
 
 [dependencies]
-anyhow = "1.0.56"
+anyhow = "1.0.57"
 crossbeam-channel = "0.5.4"
-dissimilar = "1.0.3"
+dissimilar = "1.0.4"
 itertools = "0.10.3"
-lsp-types = { version = "0.93", features = ["proposed"] }
-parking_lot = "0.12.0"
+lsp-types = { version = "0.93.0", features = ["proposed"] }
+parking_lot = "0.12.1"
 xflags = "0.2.4"
 oorandom = "11.1.3"
 rustc-hash = "1.1.0"
-serde = { version = "1.0.136", features = ["derive"] }
-serde_json = { version = "1.0.79", features = ["preserve_order"] }
+serde = { version = "1.0.137", features = ["derive"] }
+serde_json = { version = "1.0.81", features = ["preserve_order"] }
 threadpool = "1.8.1"
-rayon = "1.5.1"
+rayon = "1.5.3"
 num_cpus = "1.13.1"
-mimalloc = { version = "0.1.28", default-features = false, optional = true }
+mimalloc = { version = "0.1.29", default-features = false, optional = true }
 lsp-server = { version = "0.6.0", path = "../../lib/lsp-server" }
-tracing = "0.1.32"
-tracing-subscriber = { version = "0.3.9", default-features = false, features = [
+tracing = "0.1.35"
+tracing-subscriber = { version = "0.3.11", default-features = false, features = [
     "env-filter",
     "registry",
     "fmt",
     "tracing-log",
 ] }
-tracing-log = "0.1.2"
-tracing-tree = "0.2.0"
+tracing-log = "0.1.3"
+tracing-tree = "0.2.1"
 always-assert = "0.1.2"
 
 stdx = { path = "../stdx", version = "0.0.0" }
@@ -70,12 +70,12 @@ proc-macro-srv = { path = "../proc-macro-srv", version = "0.0.0" }
 winapi = "0.3.9"
 
 [target.'cfg(not(target_env = "msvc"))'.dependencies]
-jemallocator = { version = "0.4.3", package = "tikv-jemallocator", optional = true }
+jemallocator = { version = "0.5.0", package = "tikv-jemallocator", optional = true }
 
 [dev-dependencies]
-expect-test = "1.2.2"
+expect-test = "1.3.0"
 jod-thread = "0.1.2"
-xshell = "0.2.1"
+xshell = "0.2.2"
 
 test-utils = { path = "../test-utils" }
 sourcegen = { path = "../sourcegen" }
diff --git a/crates/rust-analyzer/tests/slow-tests/tidy.rs b/crates/rust-analyzer/tests/slow-tests/tidy.rs
index 9109617ecff..02ab6081296 100644
--- a/crates/rust-analyzer/tests/slow-tests/tidy.rs
+++ b/crates/rust-analyzer/tests/slow-tests/tidy.rs
@@ -230,6 +230,7 @@ Apache-2.0 OR MIT
 Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
 Apache-2.0/MIT
 BSD-3-Clause
+BlueOak-1.0.0 OR MIT OR Apache-2.0
 CC0-1.0 OR Artistic-2.0
 ISC
 MIT
diff --git a/crates/sourcegen/Cargo.toml b/crates/sourcegen/Cargo.toml
index 57e183af3f3..e75867e2d81 100644
--- a/crates/sourcegen/Cargo.toml
+++ b/crates/sourcegen/Cargo.toml
@@ -10,4 +10,4 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-xshell = "0.2.1"
+xshell = "0.2.2"
diff --git a/crates/stdx/Cargo.toml b/crates/stdx/Cargo.toml
index d3dfdf7eb60..092b99ae515 100644
--- a/crates/stdx/Cargo.toml
+++ b/crates/stdx/Cargo.toml
@@ -10,8 +10,8 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-libc = "0.2.121"
-backtrace = { version = "0.3.64", optional = true }
+libc = "0.2.126"
+backtrace = { version = "0.3.65", optional = true }
 always-assert = { version = "0.1.2", features = ["log"] }
 # Think twice before adding anything here
 
diff --git a/crates/syntax/Cargo.toml b/crates/syntax/Cargo.toml
index 127eaa519bf..1d1ca66ee6c 100644
--- a/crates/syntax/Cargo.toml
+++ b/crates/syntax/Cargo.toml
@@ -13,12 +13,12 @@ doctest = false
 [dependencies]
 cov-mark = "2.0.0-pre.1"
 itertools = "0.10.3"
-rowan = "0.15.4"
+rowan = "0.15.5"
 rustc_lexer = { version = "725.0.0", package = "rustc-ap-rustc_lexer" }
 rustc-hash = "1.1.0"
-once_cell = "1.10.0"
-indexmap = "1.8.0"
-smol_str = "0.1.21"
+once_cell = "1.12.0"
+indexmap = "1.8.2"
+smol_str = "0.1.23"
 
 stdx = { path = "../stdx", version = "0.0.0" }
 text-edit = { path = "../text-edit", version = "0.0.0" }
@@ -26,10 +26,10 @@ parser = { path = "../parser", version = "0.0.0" }
 profile = { path = "../profile", version = "0.0.0" }
 
 [dev-dependencies]
-rayon = "1.5.1"
-expect-test = "1.2.2"
-proc-macro2 = "1.0.36"
-quote = "1.0.16"
+rayon = "1.5.3"
+expect-test = "1.3.0"
+proc-macro2 = "1.0.39"
+quote = "1.0.18"
 ungrammar = "1.16.1"
 
 test-utils = { path = "../test-utils" }
diff --git a/crates/syntax/src/algo.rs b/crates/syntax/src/algo.rs
index 817625f8792..8b14789dd91 100644
--- a/crates/syntax/src/algo.rs
+++ b/crates/syntax/src/algo.rs
@@ -22,7 +22,7 @@ pub fn ancestors_at_offset(
     offset: TextSize,
 ) -> impl Iterator<Item = SyntaxNode> {
     node.token_at_offset(offset)
-        .map(|token| token.ancestors())
+        .map(|token| token.parent_ancestors())
         .kmerge_by(|node1, node2| node1.text_range().len() < node2.text_range().len())
 }
 
diff --git a/crates/test-utils/Cargo.toml b/crates/test-utils/Cargo.toml
index f542af1659b..cceafe04e37 100644
--- a/crates/test-utils/Cargo.toml
+++ b/crates/test-utils/Cargo.toml
@@ -11,7 +11,7 @@ doctest = false
 
 [dependencies]
 # Avoid adding deps here, this crate is widely used in tests it should compile fast!
-dissimilar = "1.0.3"
+dissimilar = "1.0.4"
 text-size = "1.1.0"
 rustc-hash = "1.1.0"
 
diff --git a/crates/tt/Cargo.toml b/crates/tt/Cargo.toml
index f97c59ea538..52dfb860804 100644
--- a/crates/tt/Cargo.toml
+++ b/crates/tt/Cargo.toml
@@ -10,6 +10,6 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-smol_str = "0.1.21"
+smol_str = "0.1.23"
 
 stdx = { path = "../stdx", version = "0.0.0" }
diff --git a/crates/vfs-notify/Cargo.toml b/crates/vfs-notify/Cargo.toml
index d9ac83af59c..2b8e3318a98 100644
--- a/crates/vfs-notify/Cargo.toml
+++ b/crates/vfs-notify/Cargo.toml
@@ -10,7 +10,7 @@ rust-version = "1.57"
 doctest = false
 
 [dependencies]
-tracing = "0.1.32"
+tracing = "0.1.35"
 jod-thread = "0.1.2"
 walkdir = "2.3.2"
 crossbeam-channel = "0.5.4"
diff --git a/crates/vfs/Cargo.toml b/crates/vfs/Cargo.toml
index a690535bea1..38222476b5c 100644
--- a/crates/vfs/Cargo.toml
+++ b/crates/vfs/Cargo.toml
@@ -14,4 +14,4 @@ rustc-hash = "1.1.0"
 fst = "0.4.7"
 
 paths = { path = "../paths", version = "0.0.0" }
-indexmap = "1.8.0"
+indexmap = "1.8.2"
diff --git a/lib/lsp-server/Cargo.toml b/lib/lsp-server/Cargo.toml
index fd92cbe195f..b2476df78df 100644
--- a/lib/lsp-server/Cargo.toml
+++ b/lib/lsp-server/Cargo.toml
@@ -7,9 +7,9 @@ repository = "https://github.com/rust-analyzer/rust-analyzer/tree/master/lib/lsp
 edition = "2021"
 
 [dependencies]
-log = "0.4.3"
-serde_json = "1.0.34"
-serde = { version = "1.0.83", features = ["derive"] }
+log = "0.4.17"
+serde_json = "1.0.81"
+serde = { version = "1.0.137", features = ["derive"] }
 crossbeam-channel = "0.5.4"
 
 [dev-dependencies]
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml
index 417a58556bd..95d44e9b9d0 100644
--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -7,9 +7,9 @@ edition = "2021"
 rust-version = "1.57"
 
 [dependencies]
-anyhow = "1.0.56"
-flate2 = "1.0.22"
+anyhow = "1.0.57"
+flate2 = "1.0.24"
 write-json = "0.1.2"
-xshell = "0.2.1"
+xshell = "0.2.2"
 xflags = "0.2.4"
 # Avoid adding more dependencies to this crate