From d3167c63f84fcf34e81eb78c44c8f70ada07080b Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Fri, 20 Mar 2020 11:25:39 +0100 Subject: [PATCH] Handle constant arrays with single value --- clippy_lints/src/consts.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/clippy_lints/src/consts.rs b/clippy_lints/src/consts.rs index c25200c33388..b91607129158 100644 --- a/clippy_lints/src/consts.rs +++ b/clippy_lints/src/consts.rs @@ -356,6 +356,17 @@ fn index(&mut self, lhs: &'_ Expr<'_>, index: &'_ Expr<'_>) -> Option Constant::F64(x) => Some(Constant::F64(x)), _ => None, }, + (Some(Constant::Vec(vec)), _) => { + if !vec.is_empty() && vec.iter().all(|x| *x == vec[0]) { + match vec[0] { + Constant::F32(x) => Some(Constant::F32(x)), + Constant::F64(x) => Some(Constant::F64(x)), + _ => None, + } + } else { + None + } + }, _ => None, } }