Do not intersect spans coming from different contexts
The code should not attempt to obtain a snippet by capping the function signature span with its identifier span without checking that they are in the same context.
This commit is contained in:
parent
197d58d591
commit
d8301d762f
1 changed files with 3 additions and 1 deletions
|
|
@ -37,7 +37,9 @@ declare_lint_pass!(NoMangleWithRustAbi => [NO_MANGLE_WITH_RUST_ABI]);
|
|||
|
||||
impl<'tcx> LateLintPass<'tcx> for NoMangleWithRustAbi {
|
||||
fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'tcx>) {
|
||||
if let ItemKind::Fn { sig: fn_sig, .. } = &item.kind {
|
||||
if let ItemKind::Fn { sig: fn_sig, .. } = &item.kind
|
||||
&& !item.span.from_expansion()
|
||||
{
|
||||
let attrs = cx.tcx.hir().attrs(item.hir_id());
|
||||
let mut app = Applicability::MaybeIncorrect;
|
||||
let fn_snippet = snippet_with_applicability(cx, fn_sig.span.with_hi(item.ident.span.lo()), "..", &mut app);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue