From 4142d7bb890b631bae5d7872dce3e1c1a6816e9f Mon Sep 17 00:00:00 2001 From: Esteban Küber Date: Wed, 31 May 2017 23:48:19 -0700 Subject: Use callsite's span for macro calls on suggestion When suggesting an appropriate mutability for a macro call, use the call span instead of the expanded macro's span. --- src/libsyntax/codemap.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/libsyntax') diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index bbe5bd4a10c..830a457df74 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -563,6 +563,15 @@ impl CodeMapper for CodeMap { fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option { self.merge_spans(sp_lhs, sp_rhs) } + fn call_span_if_macro(&self, sp: Span) -> Span { + if self.span_to_filename(sp.clone()).contains("macros>") { + let v = sp.macro_backtrace(); + if let Some(use_site) = v.last() { + return use_site.call_site; + } + } + sp + } } #[derive(Clone)] -- cgit 1.4.1-3-g733a5