about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/float_arithmetic.rs
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2020-05-02 09:49:00 +0200
committerOliver Scherer <github35764891676564198441@oli-obk.de>2020-05-02 09:49:00 +0200
commitbce9fae97abb255c9fc6c994f50a052be4010a6f (patch)
treed88048931c569432e321c522d34795966c1c6647 /src/tools/clippy/tests/ui/float_arithmetic.rs
parent06c44816c1532e5ff08ad072f581fc068eb60e2e (diff)
parentd2708873ef711ec8ab45df1e984ecf24a96cd369 (diff)
downloadrust-bce9fae97abb255c9fc6c994f50a052be4010a6f.tar.gz
rust-bce9fae97abb255c9fc6c994f50a052be4010a6f.zip
Add 'src/tools/clippy/' from commit 'd2708873ef711ec8ab45df1e984ecf24a96cd369'
git-subtree-dir: src/tools/clippy
git-subtree-mainline: 06c44816c1532e5ff08ad072f581fc068eb60e2e
git-subtree-split: d2708873ef711ec8ab45df1e984ecf24a96cd369
Diffstat (limited to 'src/tools/clippy/tests/ui/float_arithmetic.rs')
-rw-r--r--src/tools/clippy/tests/ui/float_arithmetic.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/float_arithmetic.rs b/src/tools/clippy/tests/ui/float_arithmetic.rs
new file mode 100644
index 00000000000..60fa7569eb9
--- /dev/null
+++ b/src/tools/clippy/tests/ui/float_arithmetic.rs
@@ -0,0 +1,52 @@
+#![warn(clippy::integer_arithmetic, clippy::float_arithmetic)]
+#![allow(
+    unused,
+    clippy::shadow_reuse,
+    clippy::shadow_unrelated,
+    clippy::no_effect,
+    clippy::unnecessary_operation,
+    clippy::op_ref
+)]
+
+#[rustfmt::skip]
+fn main() {
+    let mut f = 1.0f32;
+
+    f * 2.0;
+
+    1.0 + f;
+    f * 2.0;
+    f / 2.0;
+    f - 2.0 * 4.2;
+    -f;
+
+    f += 1.0;
+    f -= 1.0;
+    f *= 2.0;
+    f /= 2.0;
+}
+
+// also warn about floating point arith with references involved
+
+pub fn float_arith_ref() {
+    3.1_f32 + &1.2_f32;
+    &3.4_f32 + 1.5_f32;
+    &3.5_f32 + &1.3_f32;
+}
+
+pub fn float_foo(f: &f32) -> f32 {
+    let a = 5.1;
+    a + f
+}
+
+pub fn float_bar(f1: &f32, f2: &f32) -> f32 {
+    f1 + f2
+}
+
+pub fn float_baz(f1: f32, f2: &f32) -> f32 {
+    f1 + f2
+}
+
+pub fn float_qux(f1: f32, f2: f32) -> f32 {
+    (&f1 + &f2)
+}