Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/proc-macro-api/src/legacy_protocol/msg/flat.rs69
-rw-r--r--crates/proc-macro-srv-cli/Cargo.toml2
-rw-r--r--crates/proc-macro-srv-cli/build.rs1
-rw-r--r--crates/proc-macro-srv-cli/src/main.rs6
-rw-r--r--crates/proc-macro-srv/Cargo.toml2
-rw-r--r--crates/proc-macro-srv/build.rs2
-rw-r--r--crates/proc-macro-srv/src/bridge.rs2
-rw-r--r--crates/proc-macro-srv/src/lib.rs11
-rw-r--r--crates/proc-macro-srv/src/tests/mod.rs188
-rw-r--r--crates/proc-macro-srv/src/token_stream.rs4
-rw-r--r--crates/rust-analyzer/build.rs1
11 files changed, 149 insertions, 139 deletions
diff --git a/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs b/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs
index af3ea76861..7f19506048 100644
--- a/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs
+++ b/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs
@@ -34,10 +34,12 @@
//! as we don't have bincode in Cargo.toml yet, lets stick with serde_json for
//! the time being.
+#[cfg(feature = "sysroot-abi")]
+use proc_macro_srv::TokenStream;
+
use std::collections::VecDeque;
use intern::Symbol;
-use proc_macro_srv::TokenStream;
use rustc_hash::FxHashMap;
use serde_derive::{Deserialize, Serialize};
use span::{EditionedFileId, ErasedFileAstId, Span, SpanAnchor, SyntaxContext, TextRange};
@@ -162,6 +164,39 @@ impl FlatTree {
}
}
+ pub fn to_subtree_resolved(
+ self,
+ version: u32,
+ span_data_table: &SpanDataIndexMap,
+ ) -> tt::TopSubtree<Span> {
+ Reader::<Span> {
+ subtree: if version >= ENCODE_CLOSE_SPAN_VERSION {
+ read_vec(self.subtree, SubtreeRepr::read_with_close_span)
+ } else {
+ read_vec(self.subtree, SubtreeRepr::read)
+ },
+ literal: if version >= EXTENDED_LEAF_DATA {
+ read_vec(self.literal, LiteralRepr::read_with_kind)
+ } else {
+ read_vec(self.literal, LiteralRepr::read)
+ },
+ punct: read_vec(self.punct, PunctRepr::read),
+ ident: if version >= EXTENDED_LEAF_DATA {
+ read_vec(self.ident, IdentRepr::read_with_rawness)
+ } else {
+ read_vec(self.ident, IdentRepr::read)
+ },
+ token_tree: self.token_tree,
+ text: self.text,
+ span_data_table,
+ version,
+ }
+ .read_subtree()
+ }
+}
+
+#[cfg(feature = "sysroot-abi")]
+impl FlatTree {
pub fn from_tokenstream(
tokenstream: proc_macro_srv::TokenStream<Span>,
version: u32,
@@ -265,37 +300,6 @@ impl FlatTree {
}
}
- pub fn to_subtree_resolved(
- self,
- version: u32,
- span_data_table: &SpanDataIndexMap,
- ) -> tt::TopSubtree<Span> {
- Reader::<Span> {
- subtree: if version >= ENCODE_CLOSE_SPAN_VERSION {
- read_vec(self.subtree, SubtreeRepr::read_with_close_span)
- } else {
- read_vec(self.subtree, SubtreeRepr::read)
- },
- literal: if version >= EXTENDED_LEAF_DATA {
- read_vec(self.literal, LiteralRepr::read_with_kind)
- } else {
- read_vec(self.literal, LiteralRepr::read)
- },
- punct: read_vec(self.punct, PunctRepr::read),
- ident: if version >= EXTENDED_LEAF_DATA {
- read_vec(self.ident, IdentRepr::read_with_rawness)
- } else {
- read_vec(self.ident, IdentRepr::read)
- },
- token_tree: self.token_tree,
- text: self.text,
- span_data_table,
- version,
- }
- .read_subtree()
- }
-}
-impl FlatTree {
pub fn to_tokenstream_unresolved<T: SpanTransformer<Table = ()>>(
self,
version: u32,
@@ -836,6 +840,7 @@ impl<T: SpanTransformer> Reader<'_, T> {
}
}
+#[cfg(feature = "sysroot-abi")]
impl<T: SpanTransformer> Reader<'_, T> {
pub(crate) fn read_tokenstream(self) -> proc_macro_srv::TokenStream<T::Span> {
let mut res: Vec<Option<proc_macro_srv::Group<T::Span>>> = vec![None; self.subtree.len()];
diff --git a/crates/proc-macro-srv-cli/Cargo.toml b/crates/proc-macro-srv-cli/Cargo.toml
index 38c42729d6..dd31e74915 100644
--- a/crates/proc-macro-srv-cli/Cargo.toml
+++ b/crates/proc-macro-srv-cli/Cargo.toml
@@ -18,7 +18,7 @@ clap = {version = "4.5.42", default-features = false, features = ["std"]}
postcard = { version = "1.1.3", optional = true }
[features]
-default = ["postcard", "sysroot-abi"]
+default = ["postcard"]
sysroot-abi = ["proc-macro-srv/sysroot-abi", "proc-macro-api/sysroot-abi"]
in-rust-tree = ["proc-macro-srv/in-rust-tree", "sysroot-abi"]
postcard = ["dep:postcard"]
diff --git a/crates/proc-macro-srv-cli/build.rs b/crates/proc-macro-srv-cli/build.rs
index 12e7c8b05b..bcf639fefc 100644
--- a/crates/proc-macro-srv-cli/build.rs
+++ b/crates/proc-macro-srv-cli/build.rs
@@ -5,7 +5,6 @@ use std::{env, path::PathBuf, process::Command};
fn main() {
set_rerun();
set_commit_info();
- println!("cargo::rustc-check-cfg=cfg(rust_analyzer)");
}
fn set_rerun() {
diff --git a/crates/proc-macro-srv-cli/src/main.rs b/crates/proc-macro-srv-cli/src/main.rs
index 662d34865e..9d74fa637a 100644
--- a/crates/proc-macro-srv-cli/src/main.rs
+++ b/crates/proc-macro-srv-cli/src/main.rs
@@ -9,10 +9,10 @@ extern crate rustc_driver as _;
mod version;
-#[cfg(any(feature = "sysroot-abi", rust_analyzer))]
+#[cfg(feature = "sysroot-abi")]
mod main_loop;
use clap::{Command, ValueEnum};
-#[cfg(any(feature = "sysroot-abi", rust_analyzer))]
+#[cfg(feature = "sysroot-abi")]
use main_loop::run;
fn main() -> std::io::Result<()> {
@@ -77,7 +77,7 @@ impl ValueEnum for ProtocolFormat {
}
}
-#[cfg(not(any(feature = "sysroot-abi", rust_analyzer)))]
+#[cfg(not(feature = "sysroot-abi"))]
fn run(_: ProtocolFormat) -> std::io::Result<()> {
Err(std::io::Error::new(
std::io::ErrorKind::Unsupported,
diff --git a/crates/proc-macro-srv/Cargo.toml b/crates/proc-macro-srv/Cargo.toml
index 23734b5bbd..3610171784 100644
--- a/crates/proc-macro-srv/Cargo.toml
+++ b/crates/proc-macro-srv/Cargo.toml
@@ -36,7 +36,7 @@ expect-test.workspace = true
proc-macro-test.path = "./proc-macro-test"
[features]
-default = ["sysroot-abi"]
+default = []
sysroot-abi = []
in-rust-tree = ["sysroot-abi"]
diff --git a/crates/proc-macro-srv/build.rs b/crates/proc-macro-srv/build.rs
index 97c0c4bda7..4cf1820e7b 100644
--- a/crates/proc-macro-srv/build.rs
+++ b/crates/proc-macro-srv/build.rs
@@ -4,8 +4,6 @@
use std::{env, process::Command};
fn main() {
- println!("cargo::rustc-check-cfg=cfg(rust_analyzer)");
-
let rustc = env::var("RUSTC").expect("proc-macro-srv's build script expects RUSTC to be set");
#[allow(clippy::disallowed_methods)]
let output = Command::new(rustc).arg("--version").output().expect("rustc --version must run");
diff --git a/crates/proc-macro-srv/src/bridge.rs b/crates/proc-macro-srv/src/bridge.rs
index 71739f3f36..fc063a07b5 100644
--- a/crates/proc-macro-srv/src/bridge.rs
+++ b/crates/proc-macro-srv/src/bridge.rs
@@ -1,3 +1,5 @@
+//! `proc_macro::bridge` newtypes.
+
use proc_macro::bridge as pm_bridge;
pub use pm_bridge::{DelimSpan, Diagnostic, ExpnGlobals, LitKind};
diff --git a/crates/proc-macro-srv/src/lib.rs b/crates/proc-macro-srv/src/lib.rs
index 1f80e93db6..aff4dc5037 100644
--- a/crates/proc-macro-srv/src/lib.rs
+++ b/crates/proc-macro-srv/src/lib.rs
@@ -10,11 +10,16 @@
//! * By **copying** the whole rustc `lib_proc_macro` code, we are able to build this with `stable`
//! rustc rather than `unstable`. (Although in general ABI compatibility is still an issue)…
-#![cfg(any(feature = "sysroot-abi", rust_analyzer))]
-#![cfg_attr(not(feature = "sysroot-abi"), allow(unused_crate_dependencies))]
+#![cfg(feature = "sysroot-abi")]
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
#![feature(proc_macro_internals, proc_macro_diagnostic, proc_macro_span)]
-#![allow(unreachable_pub, internal_features, clippy::disallowed_types, clippy::print_stderr)]
+#![allow(
+ unreachable_pub,
+ internal_features,
+ clippy::disallowed_types,
+ clippy::print_stderr,
+ unused_crate_dependencies
+)]
#![deny(deprecated_safe, clippy::undocumented_unsafe_blocks)]
extern crate proc_macro;
diff --git a/crates/proc-macro-srv/src/tests/mod.rs b/crates/proc-macro-srv/src/tests/mod.rs
index cfc1d86bb6..968e887000 100644
--- a/crates/proc-macro-srv/src/tests/mod.rs
+++ b/crates/proc-macro-srv/src/tests/mod.rs
@@ -41,7 +41,7 @@ fn test_derive_error() {
IDENT 1 compile_error
PUNCT 1 ! [joint]
GROUP () 1 1 1
- LITER 1 Str #[derive(DeriveError)] struct S {field 58 u32 }
+ LITER 1 Str #[derive(DeriveError)] struct S {field 58 u32 }
PUNCT 1 ; [alone]
"#]],
expect![[r#"
@@ -56,7 +56,7 @@ fn test_derive_error() {
IDENT 42:Root[0000, 0]@0..13#ROOT2024 compile_error
PUNCT 42:Root[0000, 0]@13..14#ROOT2024 ! [joint]
GROUP () 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@64..65#ROOT2024 42:Root[0000, 0]@14..65#ROOT2024
- LITER 42:Root[0000, 0]@15..64#ROOT2024 Str #[derive(DeriveError)] struct S {field 58 u32 }
+ LITER 42:Root[0000, 0]@15..64#ROOT2024 Str #[derive(DeriveError)] struct S {field 58 u32 }
PUNCT 42:Root[0000, 0]@65..66#ROOT2024 ; [alone]
"#]],
);
@@ -70,36 +70,36 @@ fn test_fn_like_macro_noop() {
expect![[r#"
IDENT 1 ident
PUNCT 1 , [alone]
- LITER 1 Integer 0
+ LITER 1 Integer 0
PUNCT 1 , [alone]
- LITER 1 Integer 1
+ LITER 1 Integer 1
PUNCT 1 , [alone]
GROUP [] 1 1 1
IDENT 1 ident
PUNCT 1 , [alone]
- LITER 1 Integer 0
+ LITER 1 Integer 0
PUNCT 1 , [alone]
- LITER 1 Integer 1
+ LITER 1 Integer 1
PUNCT 1 , [alone]
GROUP [] 1 1 1
"#]],
expect![[r#"
IDENT 42:Root[0000, 0]@0..5#ROOT2024 ident
PUNCT 42:Root[0000, 0]@5..6#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@7..8#ROOT2024 Integer 0
+ LITER 42:Root[0000, 0]@7..8#ROOT2024 Integer 0
PUNCT 42:Root[0000, 0]@8..9#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@10..11#ROOT2024 Integer 1
+ LITER 42:Root[0000, 0]@10..11#ROOT2024 Integer 1
PUNCT 42:Root[0000, 0]@11..12#ROOT2024 , [alone]
GROUP [] 42:Root[0000, 0]@13..14#ROOT2024 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@13..15#ROOT2024
IDENT 42:Root[0000, 0]@0..5#ROOT2024 ident
PUNCT 42:Root[0000, 0]@5..6#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@7..8#ROOT2024 Integer 0
+ LITER 42:Root[0000, 0]@7..8#ROOT2024 Integer 0
PUNCT 42:Root[0000, 0]@8..9#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@10..11#ROOT2024 Integer 1
+ LITER 42:Root[0000, 0]@10..11#ROOT2024 Integer 1
PUNCT 42:Root[0000, 0]@11..12#ROOT2024 , [alone]
GROUP [] 42:Root[0000, 0]@13..14#ROOT2024 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@13..15#ROOT2024
"#]],
@@ -212,36 +212,36 @@ fn test_fn_like_mk_literals() {
expect![[r#"
- LITER 1 ByteStr byte_string
- LITER 1 Char c
- LITER 1 Str string
- LITER 1 Str -string
- LITER 1 CStr cstring
- LITER 1 Float 3.14f64
- LITER 1 Float -3.14f64
- LITER 1 Float 3.14
- LITER 1 Float -3.14
- LITER 1 Integer 123i64
- LITER 1 Integer -123i64
- LITER 1 Integer 123
- LITER 1 Integer -123
+ LITER 1 ByteStr byte_string
+ LITER 1 Char c
+ LITER 1 Str string
+ LITER 1 Str -string
+ LITER 1 CStr cstring
+ LITER 1 Float 3.14f64
+ LITER 1 Float -3.14f64
+ LITER 1 Float 3.14
+ LITER 1 Float -3.14
+ LITER 1 Integer 123i64
+ LITER 1 Integer -123i64
+ LITER 1 Integer 123
+ LITER 1 Integer -123
"#]],
expect![[r#"
- LITER 42:Root[0000, 0]@0..100#ROOT2024 ByteStr byte_string
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Char c
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Str string
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Str -string
- LITER 42:Root[0000, 0]@0..100#ROOT2024 CStr cstring
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Float 3.14f64
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Float -3.14f64
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Float 3.14
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Float -3.14
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer 123i64
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer -123i64
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer 123
- LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer -123
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 ByteStr byte_string
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Char c
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Str string
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Str -string
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 CStr cstring
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Float 3.14f64
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Float -3.14f64
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Float 3.14
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Float -3.14
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer 123i64
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer -123i64
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer 123
+ LITER 42:Root[0000, 0]@0..100#ROOT2024 Integer -123
"#]],
);
}
@@ -272,92 +272,92 @@ fn test_fn_like_macro_clone_literals() {
"fn_like_clone_tokens",
r###"1u16, 2_u32, -4i64, 3.14f32, "hello bridge", "suffixed"suffix, r##"raw"##, 'a', b'b', c"null""###,
expect![[r#"
- LITER 1 Integer 1u16
+ LITER 1 Integer 1u16
PUNCT 1 , [alone]
- LITER 1 Integer 2_u32
+ LITER 1 Integer 2_u32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Integer 4i64
+ LITER 1 Integer 4i64
PUNCT 1 , [alone]
- LITER 1 Float 3.14f32
+ LITER 1 Float 3.14f32
PUNCT 1 , [alone]
- LITER 1 Str hello bridge
+ LITER 1 Str hello bridge
PUNCT 1 , [alone]
- LITER 1 Str suffixedsuffix
+ LITER 1 Str suffixedsuffix
PUNCT 1 , [alone]
- LITER 1 StrRaw(2) raw
+ LITER 1 StrRaw(2) raw
PUNCT 1 , [alone]
- LITER 1 Char a
+ LITER 1 Char a
PUNCT 1 , [alone]
- LITER 1 Byte b
+ LITER 1 Byte b
PUNCT 1 , [alone]
- LITER 1 CStr null
+ LITER 1 CStr null
- LITER 1 Integer 1u16
+ LITER 1 Integer 1u16
PUNCT 1 , [alone]
- LITER 1 Integer 2_u32
+ LITER 1 Integer 2_u32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Integer 4i64
+ LITER 1 Integer 4i64
PUNCT 1 , [alone]
- LITER 1 Float 3.14f32
+ LITER 1 Float 3.14f32
PUNCT 1 , [alone]
- LITER 1 Str hello bridge
+ LITER 1 Str hello bridge
PUNCT 1 , [alone]
- LITER 1 Str suffixedsuffix
+ LITER 1 Str suffixedsuffix
PUNCT 1 , [alone]
- LITER 1 StrRaw(2) raw
+ LITER 1 StrRaw(2) raw
PUNCT 1 , [alone]
- LITER 1 Char a
+ LITER 1 Char a
PUNCT 1 , [alone]
- LITER 1 Byte b
+ LITER 1 Byte b
PUNCT 1 , [alone]
- LITER 1 CStr null
+ LITER 1 CStr null
"#]],
expect![[r#"
- LITER 42:Root[0000, 0]@0..4#ROOT2024 Integer 1u16
+ LITER 42:Root[0000, 0]@0..4#ROOT2024 Integer 1u16
PUNCT 42:Root[0000, 0]@4..5#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@6..11#ROOT2024 Integer 2_u32
+ LITER 42:Root[0000, 0]@6..11#ROOT2024 Integer 2_u32
PUNCT 42:Root[0000, 0]@11..12#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@13..14#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@14..18#ROOT2024 Integer 4i64
+ LITER 42:Root[0000, 0]@14..18#ROOT2024 Integer 4i64
PUNCT 42:Root[0000, 0]@18..19#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@20..27#ROOT2024 Float 3.14f32
+ LITER 42:Root[0000, 0]@20..27#ROOT2024 Float 3.14f32
PUNCT 42:Root[0000, 0]@27..28#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@29..43#ROOT2024 Str hello bridge
+ LITER 42:Root[0000, 0]@29..43#ROOT2024 Str hello bridge
PUNCT 42:Root[0000, 0]@43..44#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@45..61#ROOT2024 Str suffixedsuffix
+ LITER 42:Root[0000, 0]@45..61#ROOT2024 Str suffixedsuffix
PUNCT 42:Root[0000, 0]@61..62#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@63..73#ROOT2024 StrRaw(2) raw
+ LITER 42:Root[0000, 0]@63..73#ROOT2024 StrRaw(2) raw
PUNCT 42:Root[0000, 0]@73..74#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@75..78#ROOT2024 Char a
+ LITER 42:Root[0000, 0]@75..78#ROOT2024 Char a
PUNCT 42:Root[0000, 0]@78..79#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@80..84#ROOT2024 Byte b
+ LITER 42:Root[0000, 0]@80..84#ROOT2024 Byte b
PUNCT 42:Root[0000, 0]@84..85#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@86..93#ROOT2024 CStr null
+ LITER 42:Root[0000, 0]@86..93#ROOT2024 CStr null
- LITER 42:Root[0000, 0]@0..4#ROOT2024 Integer 1u16
+ LITER 42:Root[0000, 0]@0..4#ROOT2024 Integer 1u16
PUNCT 42:Root[0000, 0]@4..5#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@6..11#ROOT2024 Integer 2_u32
+ LITER 42:Root[0000, 0]@6..11#ROOT2024 Integer 2_u32
PUNCT 42:Root[0000, 0]@11..12#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@13..14#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@14..18#ROOT2024 Integer 4i64
+ LITER 42:Root[0000, 0]@14..18#ROOT2024 Integer 4i64
PUNCT 42:Root[0000, 0]@18..19#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@20..27#ROOT2024 Float 3.14f32
+ LITER 42:Root[0000, 0]@20..27#ROOT2024 Float 3.14f32
PUNCT 42:Root[0000, 0]@27..28#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@29..43#ROOT2024 Str hello bridge
+ LITER 42:Root[0000, 0]@29..43#ROOT2024 Str hello bridge
PUNCT 42:Root[0000, 0]@43..44#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@45..61#ROOT2024 Str suffixedsuffix
+ LITER 42:Root[0000, 0]@45..61#ROOT2024 Str suffixedsuffix
PUNCT 42:Root[0000, 0]@61..62#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@63..73#ROOT2024 StrRaw(2) raw
+ LITER 42:Root[0000, 0]@63..73#ROOT2024 StrRaw(2) raw
PUNCT 42:Root[0000, 0]@73..74#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@75..78#ROOT2024 Char a
+ LITER 42:Root[0000, 0]@75..78#ROOT2024 Char a
PUNCT 42:Root[0000, 0]@78..79#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@80..84#ROOT2024 Byte b
+ LITER 42:Root[0000, 0]@80..84#ROOT2024 Byte b
PUNCT 42:Root[0000, 0]@84..85#ROOT2024 , [alone]
- LITER 42:Root[0000, 0]@86..93#ROOT2024 CStr null
+ LITER 42:Root[0000, 0]@86..93#ROOT2024 CStr null
"#]],
);
}
@@ -369,55 +369,55 @@ fn test_fn_like_macro_negative_literals() {
r###"-1u16, - 2_u32, -3.14f32, - 2.7"###,
expect![[r#"
PUNCT 1 - [alone]
- LITER 1 Integer 1u16
+ LITER 1 Integer 1u16
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Integer 2_u32
+ LITER 1 Integer 2_u32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Float 3.14f32
+ LITER 1 Float 3.14f32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Float 2.7
+ LITER 1 Float 2.7
PUNCT 1 - [alone]
- LITER 1 Integer 1u16
+ LITER 1 Integer 1u16
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Integer 2_u32
+ LITER 1 Integer 2_u32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Float 3.14f32
+ LITER 1 Float 3.14f32
PUNCT 1 , [alone]
PUNCT 1 - [alone]
- LITER 1 Float 2.7
+ LITER 1 Float 2.7
"#]],
expect![[r#"
PUNCT 42:Root[0000, 0]@0..1#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@1..5#ROOT2024 Integer 1u16
+ LITER 42:Root[0000, 0]@1..5#ROOT2024 Integer 1u16
PUNCT 42:Root[0000, 0]@5..6#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@7..8#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@9..14#ROOT2024 Integer 2_u32
+ LITER 42:Root[0000, 0]@9..14#ROOT2024 Integer 2_u32
PUNCT 42:Root[0000, 0]@14..15#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@16..17#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@17..24#ROOT2024 Float 3.14f32
+ LITER 42:Root[0000, 0]@17..24#ROOT2024 Float 3.14f32
PUNCT 42:Root[0000, 0]@24..25#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@26..27#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@28..31#ROOT2024 Float 2.7
+ LITER 42:Root[0000, 0]@28..31#ROOT2024 Float 2.7
PUNCT 42:Root[0000, 0]@0..1#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@1..5#ROOT2024 Integer 1u16
+ LITER 42:Root[0000, 0]@1..5#ROOT2024 Integer 1u16
PUNCT 42:Root[0000, 0]@5..6#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@7..8#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@9..14#ROOT2024 Integer 2_u32
+ LITER 42:Root[0000, 0]@9..14#ROOT2024 Integer 2_u32
PUNCT 42:Root[0000, 0]@14..15#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@16..17#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@17..24#ROOT2024 Float 3.14f32
+ LITER 42:Root[0000, 0]@17..24#ROOT2024 Float 3.14f32
PUNCT 42:Root[0000, 0]@24..25#ROOT2024 , [alone]
PUNCT 42:Root[0000, 0]@26..27#ROOT2024 - [alone]
- LITER 42:Root[0000, 0]@28..31#ROOT2024 Float 2.7
+ LITER 42:Root[0000, 0]@28..31#ROOT2024 Float 2.7
"#]],
);
}
@@ -444,7 +444,7 @@ fn test_attr_macro() {
IDENT 1 compile_error
PUNCT 1 ! [joint]
GROUP () 1 1 1
- LITER 1 Str #[attr_error(some arguments )] mod m {}
+ LITER 1 Str #[attr_error(some arguments )] mod m {}
PUNCT 1 ; [alone]
"#]],
expect![[r#"
@@ -460,7 +460,7 @@ fn test_attr_macro() {
IDENT 42:Root[0000, 0]@0..13#ROOT2024 compile_error
PUNCT 42:Root[0000, 0]@13..14#ROOT2024 ! [joint]
GROUP () 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@56..57#ROOT2024 42:Root[0000, 0]@14..57#ROOT2024
- LITER 42:Root[0000, 0]@15..56#ROOT2024 Str #[attr_error(some arguments )] mod m {}
+ LITER 42:Root[0000, 0]@15..56#ROOT2024 Str #[attr_error(some arguments )] mod m {}
PUNCT 42:Root[0000, 0]@57..58#ROOT2024 ; [alone]
"#]],
);
diff --git a/crates/proc-macro-srv/src/token_stream.rs b/crates/proc-macro-srv/src/token_stream.rs
index e337f08ce4..cfdf0da903 100644
--- a/crates/proc-macro-srv/src/token_stream.rs
+++ b/crates/proc-macro-srv/src/token_stream.rs
@@ -1,3 +1,5 @@
+//! The proc-macro server token stream implementation.
+
use core::fmt;
use std::sync::Arc;
@@ -587,7 +589,7 @@ fn debug_token_tree<S: fmt::Debug>(
}
TokenTree::Literal(Literal { kind, symbol, suffix, span }) => write!(
f,
- "LITER {span:#?} {kind:?} {symbol}{} ",
+ "LITER {span:#?} {kind:?} {symbol}{}",
match suffix {
Some(suffix) => suffix.clone(),
None => Symbol::intern(""),
diff --git a/crates/rust-analyzer/build.rs b/crates/rust-analyzer/build.rs
index 0fd381d612..cc7f112599 100644
--- a/crates/rust-analyzer/build.rs
+++ b/crates/rust-analyzer/build.rs
@@ -5,7 +5,6 @@ use std::{env, path::PathBuf, process::Command};
fn main() {
set_rerun();
set_commit_info();
- println!("cargo::rustc-check-cfg=cfg(rust_analyzer)");
if option_env!("CFG_RELEASE").is_none() {
println!("cargo:rustc-env=POKE_RA_DEVS=1");
}