Right now public bounds are quite scary:
pubstructHmacCore<D>whereD:CoreProxy,D::Core:HashMarker
+ UpdateCore
+ FixedOutputCore
+ BufferKindUser<BufferKind = Eager>
+ Default
+ Clone,
<D::CoreasBlockSizeUser>::BlockSize:IsLess<U256>,Le<<D::CoreasBlockSizeUser>::BlockSize,U256>:NonZero,{ .. }Ideally we would use trait aliases, but they are currently not available in stable Rust. As a workaround we can introduce a sealed trait with blanket impl for types which satisfy the current bound and use it in our public bounds.
Right now public bounds are quite scary:
Ideally we would use trait aliases, but they are currently not available in stable Rust. As a workaround we can introduce a sealed trait with blanket impl for types which satisfy the current bound and use it in our public bounds.