From a62f9451d1cb43aeeaac2ac7fb1ac87ca322df07 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 3 Dec 2021 02:53:14 +0000 Subject: [PATCH] sha256: Fix `AssignedCell` `From` impls for `AssignedBits` and `Bits` zcash/halo2#337 had been updated to account for `AssignedCell`, before the change to simplify its bounds was made. `AssignedCell` now requires the `From` impls to take `&VR`. --- examples/sha256/table16.rs | 16 ++++++++-------- .../table16/message_schedule/subregion2.rs | 2 +- .../table16/message_schedule/subregion3.rs | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/sha256/table16.rs b/examples/sha256/table16.rs index 84ad7d69..3235f8c3 100644 --- a/examples/sha256/table16.rs +++ b/examples/sha256/table16.rs @@ -75,21 +75,21 @@ impl From<[bool; LEN]> for Bits { } } -impl From> for [bool; LEN] { - fn from(bits: Bits) -> Self { +impl From<&Bits> for [bool; LEN] { + fn from(bits: &Bits) -> Self { bits.0 } } -impl From> for Assigned { - fn from(bits: Bits) -> Assigned { +impl From<&Bits> for Assigned { + fn from(bits: &Bits) -> Assigned { assert!(LEN <= 64); pallas::Base::from_u64(lebs2ip(&bits.0)).into() } } -impl From> for u16 { - fn from(bits: Bits<16>) -> u16 { +impl From<&Bits<16>> for u16 { + fn from(bits: &Bits<16>) -> u16 { lebs2ip(&bits.0) as u16 } } @@ -100,8 +100,8 @@ impl From for Bits<16> { } } -impl From> for u32 { - fn from(bits: Bits<32>) -> u32 { +impl From<&Bits<32>> for u32 { + fn from(bits: &Bits<32>) -> u32 { lebs2ip(&bits.0) as u32 } } diff --git a/examples/sha256/table16/message_schedule/subregion2.rs b/examples/sha256/table16/message_schedule/subregion2.rs index b5240baf..6947f104 100644 --- a/examples/sha256/table16/message_schedule/subregion2.rs +++ b/examples/sha256/table16/message_schedule/subregion2.rs @@ -294,7 +294,7 @@ impl MessageScheduleConfig { fn decompose_word( &self, region: &mut Region<'_, pallas::Base>, - word: Option>, + word: Option<&Bits<32>>, index: usize, ) -> Result { let row = get_word_row(index); diff --git a/examples/sha256/table16/message_schedule/subregion3.rs b/examples/sha256/table16/message_schedule/subregion3.rs index 30f8382d..46c22768 100644 --- a/examples/sha256/table16/message_schedule/subregion3.rs +++ b/examples/sha256/table16/message_schedule/subregion3.rs @@ -200,7 +200,7 @@ impl MessageScheduleConfig { fn decompose_subregion3_word( &self, region: &mut Region<'_, pallas::Base>, - word: Option>, + word: Option<&Bits<32>>, index: usize, ) -> Result { let row = get_word_row(index);