From d2686256105d72b87afefbc96b098a644ae276ce Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sat, 20 Dec 2025 09:52:54 -0800 Subject: [PATCH] Add `PrimitiveInteger::from_str_radix` --- src/integer.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/integer.rs b/src/integer.rs index 15b59fd..6910c25 100644 --- a/src/integer.rs +++ b/src/integer.rs @@ -1,3 +1,5 @@ +use core::num::ParseIntError; + use crate::{PrimitiveError, PrimitiveNumber, PrimitiveNumberRef}; /// Trait for all primitive [integer types], including the supertrait [`PrimitiveNumber`]. @@ -264,6 +266,9 @@ pub trait PrimitiveInteger: /// Converts an integer from little endian to the target's endianness. fn from_le(value: Self) -> Self; + /// Parses an integer from a string slice with digits in a given base. + fn from_str_radix(src: &str, radix: u32) -> Result; + /// Returns the logarithm of the number with respect to an arbitrary base, rounded down. fn ilog(self, base: Self) -> u32; @@ -582,6 +587,7 @@ macro_rules! impl_integer { forward! { fn from_be(value: Self) -> Self; fn from_le(value: Self) -> Self; + fn from_str_radix(src: &str, radix: u32) -> Result; } forward! { fn checked_add(self, rhs: Self) -> Option;