"const_fn",
"crossbeam-utils 0.8.1",
"lazy_static",
- "memoffset 0.6.1",
+ "memoffset",
"scopeguard",
]
"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"
[[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]]
"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"
"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"
};
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)>> {
fmt,
hash::BuildHasherDefault,
ops::{self, RangeInclusive},
+ ptr,
};
use indexmap::IndexMap;
&& 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,
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()),
}
}
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(),
}
}