declare_tool_lint! {
pub rustc::DEFAULT_HASH_TYPES,
Allow,
- "forbid HashMap and HashSet and suggest the FxHash* variants"
+ "forbid HashMap and HashSet and suggest the FxHash* variants",
+ report_in_external_macro: true
}
pub struct DefaultHashTypes {
declare_tool_lint! {
pub rustc::USAGE_OF_TY_TYKIND,
Allow,
- "usage of `ty::TyKind` outside of the `ty::sty` module"
+ "usage of `ty::TyKind` outside of the `ty::sty` module",
+ report_in_external_macro: true
}
declare_tool_lint! {
pub rustc::TY_PASS_BY_REFERENCE,
Allow,
- "passing `Ty` or `TyCtxt` by reference"
+ "passing `Ty` or `TyCtxt` by reference",
+ report_in_external_macro: true
}
declare_tool_lint! {
pub rustc::USAGE_OF_QUALIFIED_TY,
Allow,
- "using `ty::{Ty,TyCtxt}` instead of importing it"
+ "using `ty::{Ty,TyCtxt}` instead of importing it",
+ report_in_external_macro: true
}
declare_lint_pass!(TyTyKind => [
impl EarlyLintPass for LintPassImpl {
fn check_item(&mut self, cx: &EarlyContext<'_>, item: &Item) {
- if let ItemKind::Impl(_, _, _, _, Some(lint_pass), _, _) = &item.kind {
+ if let ItemKind::Impl { of_trait: Some(lint_pass), .. } = &item.kind {
if let Some(last) = lint_pass.path.segments.last() {
if last.ident.name == sym::LintPass {
let expn_data = lint_pass.path.span.ctxt().outer_expn_data();