From b70428b9fb08ce79ebc28c3f2c07819bba1a467d Mon Sep 17 00:00:00 2001 From: Giles Cope Date: Sat, 13 Feb 2021 12:25:56 +0000 Subject: [PATCH] no need to check assertion on fast path. --- library/core/src/char/methods.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/core/src/char/methods.rs b/library/core/src/char/methods.rs index 2baea7842a796..e450240527aa5 100644 --- a/library/core/src/char/methods.rs +++ b/library/core/src/char/methods.rs @@ -330,8 +330,6 @@ impl char { #[stable(feature = "rust1", since = "1.0.0")] #[inline] pub fn to_digit(self, radix: u32) -> Option { - assert!(radix <= 36, "to_digit: radix is too high (maximum 36)"); - // the code is split up here to improve execution speed for cases where // the `radix` is constant and 10 or smaller let val = if radix <= 10 { @@ -340,6 +338,8 @@ impl char { _ => return None, } } else { + assert!(radix <= 36, "to_digit: radix is too high (maximum 36)"); + match self { '0'..='9' => self as u32 - '0' as u32, 'a'..='z' => self as u32 - 'a' as u32 + 10,