-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove build-time check for stdsimd
feature
#183
Conversation
This is blocking rust-lang/rust#117372, which replaces `stdsimd` with more fine-grained features. However the auto-detection in aHash breaks when bootstrapping Rust because it detects the `stdsimd` feature on the old toolchain which is not present on the newly build libcore. This PR removes the build-time detection of the `stdsimd` feature and instead just uses the ARM AES intrinsics directly since they are now stable, but only on AArch64.
A couple of questions: |
I'm not a fan of probing for nightly features in build.rs since, even if the feature name stays the same, breaking changes could be introduced at any time. This means that aHash could randomly break on a future nightly compiler. It's better to let users opt-in to using nightly-only features with a I could add an
No, I think this only happened due to a peculiarity of rustc's bootstraping. The build script was run against the old libcore which used the |
f303581
to
14dd1be
Compare
I've added back ARM support behind a Cargo feature. |
14dd1be
to
97a2726
Compare
Could you publish a new version of the crate? |
@tkaitchuck Ping! Can you please publish a new release with this change? This is blocking updates of stdarch is the standard library. |
@tkaitchuck Another friendly ping! Could you please publish a new release? |
Rust has removed the `stdsimd` feature: rust-lang/rust#117372 This broke `ahash` for versions prior to `0.8.7`: tkaitchuck/aHash#183
aHash version 0.8.11 works here (rustc 1.78.0-nightly (878c8a2a6 2024-02-29)) |
This is blocking rust-lang/rust#117372, which replaces
stdsimd
with more fine-grained features. However the auto-detection in aHash breaks when bootstrapping Rust because it detects thestdsimd
feature on the old toolchain which is not present on the newly build libcore.This PR removes the build-time detection of the
stdsimd
feature and instead just uses the ARM AES intrinsics directly since they are now stable, but only on AArch64.