marker_lints/
lib.rs

1#![doc = include_str!("../README.md")]
2#![feature(let_chains)]
3
4mod diag_msg_uppercase_start;
5mod not_using_has_span_trait;
6
7use marker_api::{prelude::*, LintPass, LintPassInfo, LintPassInfoBuilder};
8
9#[derive(Debug, Default)]
10struct MarkerLintsLintPass;
11
12marker_api::export_lint_pass!(MarkerLintsLintPass);
13
14impl LintPass for MarkerLintsLintPass {
15    fn info(&self) -> LintPassInfo {
16        let lints = [
17            diag_msg_uppercase_start::DIAG_MSG_UPPERCASE_START,
18            not_using_has_span_trait::NOT_USING_HAS_SPAN_TRAIT,
19        ];
20
21        LintPassInfoBuilder::new(Box::new(lints)).build()
22    }
23
24    fn check_expr<'ast>(&mut self, cx: &MarkerContext<'ast>, expr: ExprKind<'ast>) {
25        diag_msg_uppercase_start::check_expr(cx, expr);
26    }
27
28    fn check_item<'ast>(&mut self, cx: &'ast MarkerContext<'ast>, item: ast::ItemKind<'ast>) {
29        not_using_has_span_trait::check_item(cx, item);
30    }
31}