From 4e92352813c63b40c3a0bee3f096bde0710e1334 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Fri, 7 Aug 2020 21:26:33 -0400 Subject: [PATCH] Don't promote to `f64` in strict-equality comparisons if we can promote to `i64` instead. --- core/src/avm2/value.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/avm2/value.rs b/core/src/avm2/value.rs index 4a03759c4..51d902954 100644 --- a/core/src/avm2/value.rs +++ b/core/src/avm2/value.rs @@ -129,9 +129,9 @@ impl PartialEq for Value<'_> { (Value::Number(a), Value::Integer(b)) => *a == *b as f64, (Value::Unsigned(a), Value::Number(b)) => *a as f64 == *b, (Value::Unsigned(a), Value::Unsigned(b)) => a == b, - (Value::Unsigned(a), Value::Integer(b)) => *a as f64 == *b as f64, + (Value::Unsigned(a), Value::Integer(b)) => *a as i64 == *b as i64, (Value::Integer(a), Value::Number(b)) => *a as f64 == *b, - (Value::Integer(a), Value::Unsigned(b)) => *a as f64 == *b as f64, + (Value::Integer(a), Value::Unsigned(b)) => *a as i64 == *b as i64, (Value::Integer(a), Value::Integer(b)) => a == b, (Value::String(a), Value::String(b)) => a == b, (Value::Object(a), Value::Object(b)) => Object::ptr_eq(*a, *b),