Skip to content

Commit b880d90

Browse files
committed
Propegate HIR and AST f16 and f128 types to clippy
1 parent 6b5629b commit b880d90

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

src/tools/clippy/clippy_lints/src/approx_const.rs

+2
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,10 @@ impl ApproxConstant {
7575
fn check_lit(&self, cx: &LateContext<'_>, lit: &LitKind, e: &Expr<'_>) {
7676
match *lit {
7777
LitKind::Float(s, LitFloatType::Suffixed(fty)) => match fty {
78+
FloatTy::F16 => self.check_known_consts(cx, e, s, "f16"),
7879
FloatTy::F32 => self.check_known_consts(cx, e, s, "f32"),
7980
FloatTy::F64 => self.check_known_consts(cx, e, s, "f64"),
81+
FloatTy::F128 => self.check_known_consts(cx, e, s, "f128"),
8082
},
8183
LitKind::Float(s, LitFloatType::Unsuffixed) => self.check_known_consts(cx, e, s, "f{32, 64}"),
8284
_ => (),

src/tools/clippy/clippy_lints/src/float_literal.rs

+2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,10 @@ impl<'tcx> LateLintPass<'tcx> for FloatLiteral {
7676
let digits = count_digits(sym_str);
7777
let max = max_digits(fty);
7878
let type_suffix = match lit_float_ty {
79+
LitFloatType::Suffixed(ast::FloatTy::F16) => Some("f16"),
7980
LitFloatType::Suffixed(ast::FloatTy::F32) => Some("f32"),
8081
LitFloatType::Suffixed(ast::FloatTy::F64) => Some("f64"),
82+
LitFloatType::Suffixed(ast::FloatTy::F128) => Some("f128"),
8183
LitFloatType::Unsuffixed => None,
8284
};
8385
let (is_whole, is_inf, mut float_str) = match fty {

src/tools/clippy/clippy_utils/src/consts.rs

+4
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,16 @@ pub fn lit_to_mir_constant<'tcx>(lit: &LitKind, ty: Option<Ty<'tcx>>) -> Constan
277277
LitKind::Char(c) => Constant::Char(c),
278278
LitKind::Int(n, _) => Constant::Int(n.get()),
279279
LitKind::Float(ref is, LitFloatType::Suffixed(fty)) => match fty {
280+
ast::FloatTy::F16 => unimplemented!("f16_f128"),
280281
ast::FloatTy::F32 => Constant::F32(is.as_str().parse().unwrap()),
281282
ast::FloatTy::F64 => Constant::F64(is.as_str().parse().unwrap()),
283+
ast::FloatTy::F128 => unimplemented!("f16_f128"),
282284
},
283285
LitKind::Float(ref is, LitFloatType::Unsuffixed) => match ty.expect("type of float is known").kind() {
286+
ty::Float(FloatTy::F16) => unimplemented!("f16_f128"),
284287
ty::Float(FloatTy::F32) => Constant::F32(is.as_str().parse().unwrap()),
285288
ty::Float(FloatTy::F64) => Constant::F64(is.as_str().parse().unwrap()),
289+
ty::Float(FloatTy::F128) => unimplemented!("f16_f128"),
286290
_ => bug!(),
287291
},
288292
LitKind::Bool(b) => Constant::Bool(b),

0 commit comments

Comments
 (0)