0.3.5: Get current with rustc const generics #322
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes the build for
packed_simd_2
, now0.3.5
, with the current nightly, for all major platforms. This is motivated by several internal changes to how rustc handles const arguments, aspacked_simd
is an avid consumer of the hidden dragons inside rustc's internal APIs and so the breakage affectspacked_simd
.There should be no external API changes, though the change in the shuffle macros may hypothetically complicate life for users if there is some hidden complexity involving expansion and the usage of const generics in the API. This is considered a wholly acceptable breakage if it does occur. Barring that, a user should be able to build this version of
packed_simd
if they are up to date with at least:The later commits also kill clippy checks and
#[deny(warnings)]
cases on the examples because keeping up with those is an unacceptable drag on maintenance at this late stage of the game. However, the warnings do indicate there is an unsound code pattern somewhere inside these examples or insidepacked_simd
.aobench
is the one I first noticed this warning within, but it is endemic to the examples.Hopefully the Portable SIMD API group (et moi) manages to land
core::simd
before I need to do another maintenance release like this, so I can just tell people to move to that instead.