Disable ASM hashes on MSVC?
As documented in https://github.com/RustCrypto/asm-hashes/issues/17 and elsewhere, the crates in asm-hashes don't work on Windows MSVC targets. This is unfortunate, but it's understandable given that assembly is inherently difficult to port to all platforms.
However, it seems unnecessary that this detail leaks into the crates in the hashes repository. Would it make sense to use conditional compilation to force the software versions of hashes on MSVC, even when the asm feature is enabled? (There is already precedent for ignoring the asm feature flag when no assembly builds are available for the current platform.)
My use case is that I want to enable the asm feature to allow for faster performance on compatible platforms, but I don't want to completely break the build for Windows users. I'd be happy to create a PR if you think this is a reasonable change.
Sounds reasonable. But I wonder whether we should use black- or white-list approach here (i.e. disable for MSVC or enable for GNU and other supported toolchains).
Dependency on asm-hashes will be removed in v0.11 releases.
@newpavlov should we close the remaining issues on https://github.com/RustCrypto/asm-hashes and archive it?
Yes, but I think we should do it after v0.11 hashes are released.