]> git.lizzy.rs Git - rust.git/commitdiff
:arrow_up: rowan
authorAleksey Kladov <aleksey.kladov@gmail.com>
Tue, 19 Jan 2021 19:11:42 +0000 (22:11 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Tue, 19 Jan 2021 19:11:42 +0000 (22:11 +0300)
Cargo.lock
crates/hir_expand/src/db.rs
crates/syntax/Cargo.toml
crates/syntax/src/algo.rs
crates/syntax/src/ast/make.rs

index 901784bec0fd2e94dd6be2f7f47fb640075fa5a8..c9e0d63a60dc616e9169a65251b31b80fa673371 100644 (file)
@@ -323,7 +323,7 @@ dependencies = [
  "const_fn",
  "crossbeam-utils 0.8.1",
  "lazy_static",
- "memoffset 0.6.1",
+ "memoffset",
  "scopeguard",
 ]
 
@@ -940,15 +940,6 @@ dependencies = [
  "winapi 0.3.9",
 ]
 
-[[package]]
-name = "memoffset"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
-dependencies = [
- "autocfg",
-]
-
 [[package]]
 name = "memoffset"
 version = "0.6.1"
@@ -1384,15 +1375,15 @@ checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"
 
 [[package]]
 name = "rowan"
-version = "0.10.6"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0734142c18710f7214dc21908e2f054e973b908dbb1a602a3e6691615aaaae"
+checksum = "b3ae0ae5091cf38acfb834dbb6adcd45bb0d6b6a72ca5798e134195d2fa33574"
 dependencies = [
  "hashbrown",
+ "memoffset",
  "rustc-hash",
  "smol_str",
  "text-size",
- "triomphe",
 ]
 
 [[package]]
@@ -1638,12 +1629,6 @@ dependencies = [
  "text_edit",
 ]
 
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
 [[package]]
 name = "stdx"
 version = "0.0.0"
@@ -1871,17 +1856,6 @@ dependencies = [
  "tracing-subscriber",
 ]
 
-[[package]]
-name = "triomphe"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e9d872053cf9e5a833d8c1dd772cdc38ab66a908129d6f73c049c986161d07c"
-dependencies = [
- "memoffset 0.5.6",
- "serde",
- "stable_deref_trait",
-]
-
 [[package]]
 name = "tt"
 version = "0.0.0"
index 467516eb740b0caf10869b0275cd4d8591c66d4a..cb6e233209505514492ab8195cf54160ea9aa88b 100644 (file)
@@ -173,7 +173,7 @@ fn macro_arg_text(db: &dyn AstDatabase, id: MacroCallId) -> Option<GreenNode> {
     };
     let loc = db.lookup_intern_macro(id);
     let arg = loc.kind.arg(db)?;
-    Some(arg.green().clone())
+    Some(arg.green().to_owned())
 }
 
 fn macro_arg(db: &dyn AstDatabase, id: MacroCallId) -> Option<Arc<(tt::Subtree, mbe::TokenMap)>> {
index 52394b3373cbd7a94ad4255ce2b63278cfc371cc..37d3faa03f06a3693b74403d32313fe983ca5293 100644 (file)
@@ -12,7 +12,7 @@ doctest = false
 
 [dependencies]
 itertools = "0.10.0"
-rowan = "0.10.3"
+rowan = "0.11"
 rustc_lexer = { version = "697.0.0", package = "rustc-ap-rustc_lexer" }
 rustc-hash = "1.1.0"
 arrayvec = "0.5.1"
index 827ae78f95db12a32f559080b145fe1ebf1afb44..2ff92f9f624bc7957e4ee6e317099f8255f8897a 100644 (file)
@@ -4,6 +4,7 @@
     fmt,
     hash::BuildHasherDefault,
     ops::{self, RangeInclusive},
+    ptr,
 };
 
 use indexmap::IndexMap;
@@ -171,7 +172,7 @@ fn syntax_element_eq(lhs: &SyntaxElement, rhs: &SyntaxElement) -> bool {
             && lhs.text_range().len() == rhs.text_range().len()
             && match (&lhs, &rhs) {
                 (NodeOrToken::Node(lhs), NodeOrToken::Node(rhs)) => {
-                    lhs.green() == rhs.green() || lhs.text() == rhs.text()
+                    ptr::eq(lhs.green(), rhs.green()) || lhs.text() == rhs.text()
                 }
                 (NodeOrToken::Token(lhs), NodeOrToken::Token(rhs)) => lhs.text() == rhs.text(),
                 _ => false,
@@ -566,7 +567,7 @@ fn rewrite_self(
 
 fn element_to_green(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> {
     match element {
-        NodeOrToken::Node(it) => NodeOrToken::Node(it.green().clone()),
+        NodeOrToken::Node(it) => NodeOrToken::Node(it.green().to_owned()),
         NodeOrToken::Token(it) => NodeOrToken::Token(it.green().clone()),
     }
 }
@@ -624,7 +625,7 @@ fn position_of_child(parent: &SyntaxNode, child: SyntaxElement) -> usize {
 
 fn to_green_element(element: SyntaxElement) -> NodeOrToken<rowan::GreenNode, rowan::GreenToken> {
     match element {
-        NodeOrToken::Node(it) => it.green().clone().into(),
+        NodeOrToken::Node(it) => it.green().to_owned().into(),
         NodeOrToken::Token(it) => it.green().clone().into(),
     }
 }
index 9ffc3ae110ec91e5de87ed20930e6032798de90e..cc1717237dcee3eda7c284075f023e5a438a83ee 100644 (file)
@@ -478,7 +478,7 @@ fn ast_from_text<N: AstNode>(text: &str) -> N {
 }
 
 fn unroot(n: SyntaxNode) -> SyntaxNode {
-    SyntaxNode::new_root(n.green().clone())
+    SyntaxNode::new_root(n.green().to_owned())
 }
 
 pub mod tokens {