Skip to content

Commit aee3daf

Browse files
committed
Auto merge of rust-lang#11593 - koka831:fix/10511, r=xFrednet
Use Span#from_expansion instead of in_external_macro - fixes rust-lang#10511 I checked [the reported repository](rust-lang/rust-clippy#10511 (comment)) and found that clippy hangs at [py_sync.rs#L85](https://github.com/rigetti/qcs-sdk-rust/blob/842094068ed6174ba08b52a2fbae39dda77cbd00/crates/python/src/py_sync.rs#L85), where a macro(`py_function_sync_async`) defines type parameters. this macro is used in the same crate, so `in_external_macro` wouldn't catch them. This PR fixes the problem by using `Span#from_expansion`. --- changelog: ICE: [`implicit_hasher`]: No longer lints inside macros, which could cause ICEs [rust-lang#11593](rust-lang/rust-clippy#11593)
2 parents ec15630 + 6f1a78f commit aee3daf

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

clippy_lints/src/implicit_hasher.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ use rustc_hir as hir;
66
use rustc_hir::intravisit::{walk_body, walk_expr, walk_inf, walk_ty, Visitor};
77
use rustc_hir::{Body, Expr, ExprKind, GenericArg, Item, ItemKind, QPath, TyKind};
88
use rustc_hir_analysis::hir_ty_to_ty;
9-
use rustc_lint::{LateContext, LateLintPass, LintContext};
9+
use rustc_lint::{LateContext, LateLintPass};
1010
use rustc_middle::hir::nested_filter;
11-
use rustc_middle::lint::in_external_macro;
1211
use rustc_middle::ty::{Ty, TypeckResults};
1312
use rustc_session::{declare_lint_pass, declare_tool_lint};
1413
use rustc_span::source_map::Span;
@@ -162,7 +161,7 @@ impl<'tcx> LateLintPass<'tcx> for ImplicitHasher {
162161
vis.visit_ty(ty);
163162

164163
for target in &vis.found {
165-
if in_external_macro(cx.sess(), generics.span) {
164+
if generics.span.from_expansion() {
166165
continue;
167166
}
168167
let generics_suggestion_span = generics.span.substitute_dummy({

0 commit comments

Comments
 (0)