]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/clippy_lints/src/operators/integer_division.rs
Auto merge of #98369 - jyn514:configure.py, r=Mark-Simulacrum
[rust.git] / src / tools / clippy / clippy_lints / src / operators / integer_division.rs
1 use clippy_utils::diagnostics::span_lint_and_help;
2 use rustc_hir as hir;
3 use rustc_lint::LateContext;
4
5 use super::INTEGER_DIVISION;
6
7 pub(crate) fn check<'tcx>(
8     cx: &LateContext<'tcx>,
9     expr: &'tcx hir::Expr<'_>,
10     op: hir::BinOpKind,
11     left: &'tcx hir::Expr<'_>,
12     right: &'tcx hir::Expr<'_>,
13 ) {
14     if op == hir::BinOpKind::Div
15         && cx.typeck_results().expr_ty(left).is_integral()
16         && cx.typeck_results().expr_ty(right).is_integral()
17     {
18         span_lint_and_help(
19             cx,
20             INTEGER_DIVISION,
21             expr.span,
22             "integer division",
23             None,
24             "division of integers may cause loss of precision. consider using floats",
25         );
26     }
27 }