cpubits: explicit WYSIWYG syntax #1401
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.
In #1398 I experimented with making some of the syntax implicit, but as soon as it became clear I also needed to add support for ignoring certain bit sizes and only running code on others that quickly became a bad idea.
This commit changes the syntax to be fully explicit, like a
matchexpression that takes an implicit argument of the number of bits with no other weird rules. If you want the block to appear in the code on e.g. 16-bit targets, they need to be explicitly named.This commit implements all permutations except for
16 | 32 | 64since that amounts to no gating whatsoever, which defeats the point of using this crate.