Unnamed repository; edit this file 'description' to name the repository.
Split out rustc_lexer from rustc_dependencies
Lukas Wirth 2024-01-08
parent af40101 · commit b97ab00
-rw-r--r--Cargo.lock5
-rw-r--r--Cargo.toml2
-rw-r--r--crates/parser/Cargo.toml7
-rw-r--r--crates/parser/src/lexed_str.rs2
-rw-r--r--crates/parser/src/lib.rs5
-rw-r--r--crates/rustc-dependencies/Cargo.toml3
-rw-r--r--crates/rustc-dependencies/src/lib.rs11
-rw-r--r--crates/syntax/Cargo.toml6
-rw-r--r--crates/syntax/src/ast/token_ext.rs2
-rw-r--r--crates/syntax/src/lib.rs5
-rw-r--r--crates/syntax/src/validation.rs2
11 files changed, 22 insertions, 28 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 6670e92f51..98ae47640f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1196,7 +1196,7 @@ dependencies = [
"drop_bomb",
"expect-test",
"limit",
- "rustc-dependencies",
+ "ra-ap-rustc_lexer",
"sourcegen",
"stdx",
]
@@ -1605,7 +1605,6 @@ version = "0.0.0"
dependencies = [
"ra-ap-rustc_abi",
"ra-ap-rustc_index",
- "ra-ap-rustc_lexer",
"ra-ap-rustc_parse_format",
]
@@ -1808,9 +1807,9 @@ dependencies = [
"proc-macro2",
"profile",
"quote",
+ "ra-ap-rustc_lexer",
"rayon",
"rowan",
- "rustc-dependencies",
"rustc-hash",
"smol_str",
"sourcegen",
diff --git a/Cargo.toml b/Cargo.toml
index 4ee8064b5e..296ccb2dfa 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -80,6 +80,8 @@ vfs-notify = { path = "./crates/vfs-notify", version = "0.0.0" }
vfs = { path = "./crates/vfs", version = "0.0.0" }
rustc-dependencies = { path = "./crates/rustc-dependencies", version = "0.0.0" }
+ra-ap-rustc_lexer = "0.21.0"
+
# local crates that aren't published to crates.io. These should not have versions.
sourcegen = { path = "./crates/sourcegen" }
test-fixture = { path = "./crates/test-fixture" }
diff --git a/crates/parser/Cargo.toml b/crates/parser/Cargo.toml
index 0c63484634..e74b340126 100644
--- a/crates/parser/Cargo.toml
+++ b/crates/parser/Cargo.toml
@@ -13,8 +13,7 @@ doctest = false
[dependencies]
drop_bomb = "0.1.5"
-rustc-dependencies.workspace = true
-
+ra-ap-rustc_lexer.workspace = true
limit.workspace = true
[dev-dependencies]
@@ -24,7 +23,7 @@ stdx.workspace = true
sourcegen.workspace = true
[features]
-in-rust-tree = ["rustc-dependencies/in-rust-tree"]
+in-rust-tree = []
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/parser/src/lexed_str.rs b/crates/parser/src/lexed_str.rs
index b9e7566fdf..f47ec49df1 100644
--- a/crates/parser/src/lexed_str.rs
+++ b/crates/parser/src/lexed_str.rs
@@ -8,8 +8,6 @@
//! Note that these tokens, unlike the tokens we feed into the parser, do
//! include info about comments and whitespace.
-use rustc_dependencies::lexer as rustc_lexer;
-
use std::ops;
use rustc_lexer::unescape::{EscapeError, Mode};
diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs
index d9b3f46f20..ed0aec3cab 100644
--- a/crates/parser/src/lib.rs
+++ b/crates/parser/src/lib.rs
@@ -21,6 +21,11 @@
#![allow(rustdoc::private_intra_doc_links)]
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
+#[cfg(not(feature = "in-rust-tree"))]
+extern crate ra_ap_rustc_lexer as rustc_lexer;
+#[cfg(feature = "in-rust-tree")]
+extern crate rustc_lexer;
+
mod lexed_str;
mod token_set;
mod syntax_kind;
diff --git a/crates/rustc-dependencies/Cargo.toml b/crates/rustc-dependencies/Cargo.toml
index 0bf04301df..ae8abc6cc7 100644
--- a/crates/rustc-dependencies/Cargo.toml
+++ b/crates/rustc-dependencies/Cargo.toml
@@ -11,7 +11,6 @@ authors.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-ra-ap-rustc_lexer = { version = "0.21.0" }
ra-ap-rustc_parse_format = { version = "0.21.0", default-features = false }
ra-ap-rustc_index = { version = "0.21.0", default-features = false }
ra-ap-rustc_abi = { version = "0.21.0", default-features = false }
@@ -20,4 +19,4 @@ ra-ap-rustc_abi = { version = "0.21.0", default-features = false }
in-rust-tree = []
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/rustc-dependencies/src/lib.rs b/crates/rustc-dependencies/src/lib.rs
index 13fcbc4919..d3f386fe08 100644
--- a/crates/rustc-dependencies/src/lib.rs
+++ b/crates/rustc-dependencies/src/lib.rs
@@ -4,17 +4,6 @@
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
#[cfg(feature = "in-rust-tree")]
-extern crate rustc_lexer;
-
-pub mod lexer {
- #[cfg(not(feature = "in-rust-tree"))]
- pub use ::ra_ap_rustc_lexer::*;
-
- #[cfg(feature = "in-rust-tree")]
- pub use ::rustc_lexer::*;
-}
-
-#[cfg(feature = "in-rust-tree")]
extern crate rustc_parse_format;
pub mod parse_format {
diff --git a/crates/syntax/Cargo.toml b/crates/syntax/Cargo.toml
index 40a93fec2c..9f78614bba 100644
--- a/crates/syntax/Cargo.toml
+++ b/crates/syntax/Cargo.toml
@@ -23,7 +23,7 @@ indexmap.workspace = true
smol_str.workspace = true
triomphe.workspace = true
-rustc-dependencies.workspace = true
+ra-ap-rustc_lexer.workspace = true
parser.workspace = true
profile.workspace = true
@@ -41,7 +41,7 @@ test-utils.workspace = true
sourcegen.workspace = true
[features]
-in-rust-tree = ["rustc-dependencies/in-rust-tree"]
+in-rust-tree = []
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/syntax/src/ast/token_ext.rs b/crates/syntax/src/ast/token_ext.rs
index d5d565a015..ede392fc62 100644
--- a/crates/syntax/src/ast/token_ext.rs
+++ b/crates/syntax/src/ast/token_ext.rs
@@ -2,8 +2,6 @@
use std::borrow::Cow;
-use rustc_dependencies::lexer as rustc_lexer;
-
use rustc_lexer::unescape::{
unescape_byte, unescape_c_string, unescape_char, unescape_literal, CStrUnit, Mode,
};
diff --git a/crates/syntax/src/lib.rs b/crates/syntax/src/lib.rs
index d600698040..1b41596a5f 100644
--- a/crates/syntax/src/lib.rs
+++ b/crates/syntax/src/lib.rs
@@ -22,6 +22,11 @@
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
#![warn(rust_2018_idioms, unused_lifetimes)]
+#[cfg(not(feature = "in-rust-tree"))]
+extern crate ra_ap_rustc_lexer as rustc_lexer;
+#[cfg(feature = "in-rust-tree")]
+extern crate rustc_lexer;
+
#[allow(unused)]
macro_rules! eprintln {
($($tt:tt)*) => { stdx::eprintln!($($tt)*) };
diff --git a/crates/syntax/src/validation.rs b/crates/syntax/src/validation.rs
index eabbda2c39..6c6916c585 100644
--- a/crates/syntax/src/validation.rs
+++ b/crates/syntax/src/validation.rs
@@ -5,7 +5,7 @@
mod block;
use rowan::Direction;
-use rustc_dependencies::lexer::unescape::{self, unescape_literal, Mode};
+use rustc_lexer::unescape::{self, unescape_literal, Mode};
use crate::{
algo,