diff --git a/compiler/rustc_expand/src/proc_macro_server.rs b/compiler/rustc_expand/src/proc_macro_server.rs index 0e063011eea49..cd17b6e2ed028 100644 --- a/compiler/rustc_expand/src/proc_macro_server.rs +++ b/compiler/rustc_expand/src/proc_macro_server.rs @@ -151,11 +151,7 @@ impl FromInternal<(TokenStream, &mut Rustc<'_, '_>)> for Vec { pub open: Span, pub close: Span, - pub entire: Span, } impl DelimSpan { pub fn from_single(span: Span) -> Self { - DelimSpan { open: span, close: span, entire: span } + DelimSpan { open: span, close: span } } } -compound_traits!(struct DelimSpan { open, close, entire }); +compound_traits!(struct DelimSpan { open, close }); #[derive(Clone)] pub struct Group { diff --git a/library/proc_macro/src/lib.rs b/library/proc_macro/src/lib.rs index 4efdfcad924b5..d4e5e458e723c 100644 --- a/library/proc_macro/src/lib.rs +++ b/library/proc_macro/src/lib.rs @@ -847,7 +847,8 @@ impl Group { /// ``` #[stable(feature = "proc_macro_lib2", since = "1.29.0")] pub fn span(&self) -> Span { - Span(self.0.span.entire) + let sp = self.0.span; + Span(sp.open.join(sp.close).unwrap_or(sp.open)) } /// Returns the span pointing to the opening delimiter of this group. diff --git a/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_stream.rs b/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_stream.rs index c5019a5917221..8a9a22b6a044d 100644 --- a/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_stream.rs +++ b/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_stream.rs @@ -104,7 +104,6 @@ impl TokenStream { span: bridge::DelimSpan { open: subtree.delimiter.open, close: subtree.delimiter.close, - entire: join_spans(subtree.delimiter.open, subtree.delimiter.close), }, })) }