From bf21ff5f80a94a4633fa00143997b98bf39e5e91 Mon Sep 17 00:00:00 2001 From: Chris Cole Date: Wed, 1 Mar 2017 11:24:11 -0500 Subject: [PATCH] Fix Shr trait impl for BigNum: was using shl --- openssl/src/bn.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/openssl/src/bn.rs b/openssl/src/bn.rs index 9557b5bb4..5cc278622 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(); -- GitLab