Handle all integral types & arbitrary steps #1
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 extends dotnet#16577 to handle all built-in integral types—
int32
,uint32
,int64
,uint64
,int16
,uint16
,nativeint
,unativeint
,sbyte
,byte
,char
—and arbitrary steps—[|start..step..finish|]
,[start..step..finish]
.I could add tests for all of the supported types, but if I copied all of the tests for every type, this PR would end up adding close to 25,000 lines, which seems somewhat excessive... The arithmetic for determining
count
/length
should already be apparent in the IL in the int32/int64 tests, and it should be valid for unsigned types as well.