diff --git a/openssl/src/bn.rs b/openssl/src/bn.rs index 9557b5bb4a92f8f3216737cc596df0d745738703..5cc2786221ec6a85b7a5fe43c5e0b6b233838383 100644 --- a/openssl/src/bn.rs +++ b/openssl/src/bn.rs @@ -465,7 +465,7 @@ impl BigNumRef { /// Returns a big-endian byte vector representation of the absolute value of `self`. /// - /// `self` can be recreated by using `new_from_slice`. + /// `self` can be recreated by using `from_slice`. /// /// ``` /// # use openssl::bn::BigNum; @@ -874,7 +874,7 @@ impl<'a> Shr for &'a BigNum { type Output = BigNum; fn shr(self, n: i32) -> BigNum { - self.deref().shl(n) + self.deref().shr(n) } } @@ -925,6 +925,14 @@ mod tests { assert!((-a).is_negative()); } + #[test] + fn test_shift() { + let a = BigNum::from_u32(909829283).unwrap(); + use std::ops::{Shl, Shr}; + + assert!(a == a.shl(1).shr(1)); + } + #[test] fn test_prime_numbers() { let a = BigNum::from_u32(19029017).unwrap();