Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #118861 - Veykril:r-a-in-tree, r=onur-ozkan
Set the `in-rust-tree` feature for all rust-analyzer{-proc-macro-srv} steps Some context: This came up in https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/libraryfying.20match.20checking.3F where `test` and `check` behaved differently for rust-analyzer r? `@onur-ozkan`
bors 2024-01-05
parent e4ba9c0 · parent 0cfb309 · commit 7686edb
-rw-r--r--crates/mbe/Cargo.toml5
-rw-r--r--crates/proc-macro-srv-cli/Cargo.toml4
-rw-r--r--crates/proc-macro-srv-cli/src/main.rs4
-rw-r--r--crates/proc-macro-srv/Cargo.toml3
-rw-r--r--crates/proc-macro-srv/src/lib.rs3
-rw-r--r--crates/rust-analyzer/src/bin/main.rs3
6 files changed, 16 insertions, 6 deletions
diff --git a/crates/mbe/Cargo.toml b/crates/mbe/Cargo.toml
index f50d796e13..2046fa943a 100644
--- a/crates/mbe/Cargo.toml
+++ b/crates/mbe/Cargo.toml
@@ -27,5 +27,8 @@ span.workspace = true
[dev-dependencies]
test-utils.workspace = true
+[features]
+in-rust-tree = ["parser/in-rust-tree", "syntax/in-rust-tree"]
+
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/proc-macro-srv-cli/Cargo.toml b/crates/proc-macro-srv-cli/Cargo.toml
index 980eab2696..a559ba0175 100644
--- a/crates/proc-macro-srv-cli/Cargo.toml
+++ b/crates/proc-macro-srv-cli/Cargo.toml
@@ -14,10 +14,12 @@ proc-macro-api.workspace = true
[features]
sysroot-abi = ["proc-macro-srv/sysroot-abi"]
+in-rust-tree = ["proc-macro-srv/in-rust-tree", "sysroot-abi"]
+
[[bin]]
name = "rust-analyzer-proc-macro-srv"
path = "src/main.rs"
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/proc-macro-srv-cli/src/main.rs b/crates/proc-macro-srv-cli/src/main.rs
index 000a526e9f..87f7555b02 100644
--- a/crates/proc-macro-srv-cli/src/main.rs
+++ b/crates/proc-macro-srv-cli/src/main.rs
@@ -1,5 +1,9 @@
//! A standalone binary for `proc-macro-srv`.
//! Driver for proc macro server
+#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
+#[cfg(feature = "in-rust-tree")]
+extern crate rustc_driver as _;
+
use std::io;
fn main() -> std::io::Result<()> {
diff --git a/crates/proc-macro-srv/Cargo.toml b/crates/proc-macro-srv/Cargo.toml
index b6686fa5b6..9c4375559c 100644
--- a/crates/proc-macro-srv/Cargo.toml
+++ b/crates/proc-macro-srv/Cargo.toml
@@ -38,6 +38,7 @@ proc-macro-test.path = "./proc-macro-test"
[features]
sysroot-abi = ["proc-macro-test/sysroot-abi"]
+in-rust-tree = ["mbe/in-rust-tree", "sysroot-abi"]
[lints]
-workspace = true \ No newline at end of file
+workspace = true
diff --git a/crates/proc-macro-srv/src/lib.rs b/crates/proc-macro-srv/src/lib.rs
index 7cd6df2df8..f1575a5b0b 100644
--- a/crates/proc-macro-srv/src/lib.rs
+++ b/crates/proc-macro-srv/src/lib.rs
@@ -11,11 +11,12 @@
//! rustc rather than `unstable`. (Although in general ABI compatibility is still an issue)…
#![cfg(any(feature = "sysroot-abi", rust_analyzer))]
-#![feature(proc_macro_internals, proc_macro_diagnostic, proc_macro_span)]
+#![feature(proc_macro_internals, proc_macro_diagnostic, proc_macro_span, rustc_private)]
#![warn(rust_2018_idioms, unused_lifetimes)]
#![allow(unreachable_pub, internal_features)]
extern crate proc_macro;
+extern crate rustc_driver as _;
mod dylib;
mod server;
diff --git a/crates/rust-analyzer/src/bin/main.rs b/crates/rust-analyzer/src/bin/main.rs
index 6f40a4c88e..7432f0f7a7 100644
--- a/crates/rust-analyzer/src/bin/main.rs
+++ b/crates/rust-analyzer/src/bin/main.rs
@@ -5,8 +5,7 @@
#![warn(rust_2018_idioms, unused_lifetimes)]
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
#[cfg(feature = "in-rust-tree")]
-#[allow(unused_extern_crates)]
-extern crate rustc_driver;
+extern crate rustc_driver as _;
mod logger;
mod rustc_wrapper;