From 36efb50563f0a448000514d0fc467a098573ff16 Mon Sep 17 00:00:00 2001 From: Daniel Alley Date: Mon, 23 Sep 2019 15:45:59 -0400 Subject: [PATCH] Refactor for less allocations --- vm/src/obj/objrange.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vm/src/obj/objrange.rs b/vm/src/obj/objrange.rs index 22ac58ccf..bdb1aa7cc 100644 --- a/vm/src/obj/objrange.rs +++ b/vm/src/obj/objrange.rs @@ -82,15 +82,15 @@ impl PyRange { return None; } - let length = if start < stop { + let length: BigInt = if start < stop { (stop - start - 1) / step + 1 } else { (start - stop - 1) / (-step) + 1 }; - let index = if index < BigInt::zero() { - let new_index = &length + &index; - if new_index < BigInt::zero() { + let index = if index.is_negative() { + let new_index: BigInt = &length + &index; + if new_index.is_negative() { return None; } length + index