diff --git a/Cargo.lock b/Cargo.lock index b736e00400..49a73d60f5 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 5c510db83b..9db9bfdb6a 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 c33d893744..ff1028cf62 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 def8428d73..cc276d402b 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 2a7e26fa2e..9e72f27ea4 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 10362f390b..4c5bd2c89c 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 1cffd823f2..8f59d0dafe 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 282e9c0a4b..592e7d3b97 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 d86de2cca4..9e7c99f74e 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 ba5a47f4df..b5a5694d01 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::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> { - 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 4df7c4177c..463d6f3386 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 99be5e090c..dc6965cfef 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 42c5e6f088..45336d704d 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 4369e11bd7..2dee2579eb 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 0cdb8ee119..67648ac17b 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 78d0ef7122..3e03528f0c 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 f1beeb454c..bc717f6da8 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 761c97b9a9..bc46ff7f2d 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 c5f0cb3c01..d22f87994f 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 819134a255..f48a570086 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 f59da69dfb..f37e754fea 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 a6ffa51b4e..20e02d4782 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 1726d5701a..e27ef6e35e 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 23cd0f6443..64263161a9 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 b43de6b9e2..a18a6bea97 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 60fad2d5db..08085ac784 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 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 86fed390a8..2cba5081c1 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 806f816898..d36670e983 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 2aa4fbf55e..5b235e71ac 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> { 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> { } 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 d2d367c8c5..3372d74af6 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> { 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 00ff9ed31b..08621addee 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 cb38f48f32..871c995122 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 198e17db53..4c5bdfd967 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, 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 d6d15dd19d..66581d6def 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 8105b536b7..8b9a4c2d89 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 df2cbcaf30..88bbaee5a8 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 01bc8878bb..e7000a259f 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 f37b362ebd..0b78a45a24 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 ecf3bcc8ab..35465d0861 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 133459bf1d..04c986f0f2 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 9109617ecf..02ab608129 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 57e183af3f..e75867e2d8 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 d3dfdf7eb6..092b99ae51 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 127eaa519b..1d1ca66ee6 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 817625f879..8b14789dd9 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 { 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 f542af1659..cceafe04e3 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 f97c59ea53..52dfb86080 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 d9ac83af59..2b8e3318a9 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 a690535bea..38222476b5 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 fd92cbe195..b2476df78d 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 417a58556b..95d44e9b9d 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