diff --git a/members/libpt-bintols/src/split_numbers.rs b/members/libpt-bintols/src/split_numbers.rs index 84a29cb..20cefa6 100644 --- a/members/libpt-bintols/src/split_numbers.rs +++ b/members/libpt-bintols/src/split_numbers.rs @@ -3,25 +3,20 @@ //! Sometimes, you need a large integer in the form of many bytes, so split into [u8]. //! Rust provides -use num_traits::Unsigned; - /// split an integer into it's bytes, ignoring those bytes that would be all zero. /// /// If the integer is zero, the Vec contains a single null byte. -pub fn unsigned_to_vec(mut num: T) -> Vec +pub fn unsigned_to_vec(num: T) -> Vec where - T: Unsigned, - T: std::ops::ShrAssign, - T: std::cmp::PartialOrd, - u8: std::convert::From, - T: Copy, + u128: std::convert::From { + let mut num: u128 = num.into(); if num == 0 { return vec![0]; } let mut buf: Vec = Vec::new(); while num > 0 { - buf.push(num.into()); + buf.push(num as u8); num >>= 8; } buf