Skip to content

Commit ce4e334

Browse files
committed
Simplify bounds
1 parent 91f813d commit ce4e334

3 files changed

Lines changed: 24 additions & 46 deletions

File tree

blake2/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use digest::{
2424
UpdateCore, VariableOutputCore,
2525
},
2626
crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser},
27-
typenum::{IsLessOrEqual, LeEq, NonZero, True, Unsigned},
27+
typenum::{IsLessOrEqual, True, Unsigned},
2828
};
2929
#[cfg(feature = "reset")]
3030
use digest::{FixedOutputReset, Reset};

blake2/src/macros.rs

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,7 @@ macro_rules! blake2_mac_impl {
277277
#[doc=$doc]
278278
pub struct $name<OutSize>
279279
where
280-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
281-
LeEq<OutSize, $max_size>: NonZero,
280+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
282281
{
283282
core: $hash,
284283
buffer: LazyBuffer<<$hash as BlockSizeUser>::BlockSize>,
@@ -289,8 +288,7 @@ macro_rules! blake2_mac_impl {
289288

290289
impl<OutSize> $name<OutSize>
291290
where
292-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
293-
LeEq<OutSize, $max_size>: NonZero,
291+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
294292
{
295293
/// Create new instance using provided key, salt, and persona.
296294
///
@@ -337,16 +335,14 @@ macro_rules! blake2_mac_impl {
337335

338336
impl<OutSize> KeySizeUser for $name<OutSize>
339337
where
340-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
341-
LeEq<OutSize, $max_size>: NonZero,
338+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
342339
{
343340
type KeySize = $max_size;
344341
}
345342

346343
impl<OutSize> KeyInit for $name<OutSize>
347344
where
348-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
349-
LeEq<OutSize, $max_size>: NonZero,
345+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
350346
{
351347
#[inline]
352348
fn new(key: &Key<Self>) -> Self {
@@ -377,8 +373,7 @@ macro_rules! blake2_mac_impl {
377373

378374
impl<OutSize> Update for $name<OutSize>
379375
where
380-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
381-
LeEq<OutSize, $max_size>: NonZero,
376+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
382377
{
383378
#[inline]
384379
fn update(&mut self, input: &[u8]) {
@@ -389,16 +384,14 @@ macro_rules! blake2_mac_impl {
389384

390385
impl<OutSize> OutputSizeUser for $name<OutSize>
391386
where
392-
OutSize: ArraySize + IsLessOrEqual<$max_size> + 'static,
393-
LeEq<OutSize, $max_size>: NonZero,
387+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
394388
{
395389
type OutputSize = OutSize;
396390
}
397391

398392
impl<OutSize> FixedOutput for $name<OutSize>
399393
where
400-
OutSize: ArraySize + IsLessOrEqual<$max_size> + 'static,
401-
LeEq<OutSize, $max_size>: NonZero,
394+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
402395
{
403396
#[inline]
404397
fn finalize_into(mut self, out: &mut Output<Self>) {
@@ -412,8 +405,7 @@ macro_rules! blake2_mac_impl {
412405
#[cfg(feature = "reset")]
413406
impl<OutSize> Reset for $name<OutSize>
414407
where
415-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
416-
LeEq<OutSize, $max_size>: NonZero,
408+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
417409
{
418410
fn reset(&mut self) {
419411
self.core.reset();
@@ -431,8 +423,7 @@ macro_rules! blake2_mac_impl {
431423
#[cfg(feature = "reset")]
432424
impl<OutSize> FixedOutputReset for $name<OutSize>
433425
where
434-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
435-
LeEq<OutSize, $max_size>: NonZero,
426+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
436427
{
437428
#[inline]
438429
fn finalize_into_reset(&mut self, out: &mut Output<Self>) {
@@ -444,17 +435,14 @@ macro_rules! blake2_mac_impl {
444435
}
445436
}
446437

447-
impl<OutSize> MacMarker for $name<OutSize>
448-
where
449-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
450-
LeEq<OutSize, $max_size>: NonZero,
438+
impl<OutSize> MacMarker for $name<OutSize> where
439+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>
451440
{
452441
}
453442

454443
impl<OutSize> fmt::Debug for $name<OutSize>
455444
where
456-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
457-
LeEq<OutSize, $max_size>: NonZero,
445+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
458446
{
459447
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
460448
write!(f, "{}{} {{ ... }}", stringify!($name), OutSize::USIZE)
@@ -463,8 +451,7 @@ macro_rules! blake2_mac_impl {
463451

464452
impl<OutSize> Drop for $name<OutSize>
465453
where
466-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
467-
LeEq<OutSize, $max_size>: NonZero,
454+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>,
468455
{
469456
fn drop(&mut self) {
470457
#[cfg(feature = "zeroize")]
@@ -479,10 +466,8 @@ macro_rules! blake2_mac_impl {
479466
}
480467
}
481468
#[cfg(feature = "zeroize")]
482-
impl<OutSize> ZeroizeOnDrop for $name<OutSize>
483-
where
484-
OutSize: ArraySize + IsLessOrEqual<$max_size>,
485-
LeEq<OutSize, $max_size>: NonZero,
469+
impl<OutSize> ZeroizeOnDrop for $name<OutSize> where
470+
OutSize: ArraySize + IsLessOrEqual<$max_size, Output = True>
486471
{
487472
}
488473
};

sha3/src/xof_reader.rs

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,23 @@ use core::marker::PhantomData;
33
use digest::{
44
core_api::{Block, BlockSizeUser, XofReaderCore},
55
crypto_common::BlockSizes,
6-
typenum::{IsLessOrEqual, LeEq, NonZero, U200},
6+
typenum::{IsLessOrEqual, True, U200},
77
};
88

99
/// Core Sha3 XOF reader.
1010
#[derive(Clone)]
1111
#[allow(non_camel_case_types)]
1212
pub struct Sha3ReaderCore<Rate, const ROUNDS: usize = DEFAULT_ROUND_COUNT>
1313
where
14-
Rate: BlockSizes + IsLessOrEqual<U200>,
15-
LeEq<Rate, U200>: NonZero,
14+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>,
1615
{
1716
state: [u64; PLEN],
1817
_pd: PhantomData<Rate>,
1918
}
2019

2120
impl<Rate, const ROUNDS: usize> Sha3ReaderCore<Rate, ROUNDS>
2221
where
23-
Rate: BlockSizes + IsLessOrEqual<U200>,
24-
LeEq<Rate, U200>: NonZero,
22+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>,
2523
{
2624
pub(crate) fn new(state: &[u64; PLEN]) -> Self {
2725
Self {
@@ -33,16 +31,14 @@ where
3331

3432
impl<Rate, const ROUNDS: usize> BlockSizeUser for Sha3ReaderCore<Rate, ROUNDS>
3533
where
36-
Rate: BlockSizes + IsLessOrEqual<U200>,
37-
LeEq<Rate, U200>: NonZero,
34+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>,
3835
{
3936
type BlockSize = Rate;
4037
}
4138

4239
impl<Rate, const ROUNDS: usize> XofReaderCore for Sha3ReaderCore<Rate, ROUNDS>
4340
where
44-
Rate: BlockSizes + IsLessOrEqual<U200>,
45-
LeEq<Rate, U200>: NonZero,
41+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>,
4642
{
4743
#[inline]
4844
fn read_block(&mut self) -> Block<Self> {
@@ -57,8 +53,7 @@ where
5753

5854
impl<Rate, const ROUNDS: usize> Drop for Sha3ReaderCore<Rate, ROUNDS>
5955
where
60-
Rate: BlockSizes + IsLessOrEqual<U200>,
61-
LeEq<Rate, U200>: NonZero,
56+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>,
6257
{
6358
fn drop(&mut self) {
6459
#[cfg(feature = "zeroize")]
@@ -70,9 +65,7 @@ where
7065
}
7166

7267
#[cfg(feature = "zeroize")]
73-
impl<Rate, const ROUNDS: usize> digest::zeroize::ZeroizeOnDrop for Sha3ReaderCore<Rate, ROUNDS>
74-
where
75-
Rate: BlockSizes + IsLessOrEqual<U200>,
76-
LeEq<Rate, U200>: NonZero,
68+
impl<Rate, const ROUNDS: usize> digest::zeroize::ZeroizeOnDrop for Sha3ReaderCore<Rate, ROUNDS> where
69+
Rate: BlockSizes + IsLessOrEqual<U200, Output = True>
7770
{
7871
}

0 commit comments

Comments
 (0)