This adds new `Int8`, `Int16`, `Int32` and `Int64` data types
to the compiler, thus working towards properly specified integer
types as discussed in #1048.
In addition, the following changes / corrections are made:
* Support casts from `Char`, `String`, and `Double` to all integer
types (and back). This fixes#1270.
* Make sure that all casts to limited-precision integers are properly
bounds checked (this was not the case so far for casts from `String`
and `Double` to `Int`)
* Add a thorough set of tests to make sure all bounds checks work
correctly for all supported casts and arithmetic operations
Use the same trigger as in the rest of jobs.
Before submitting a PR, commit is pushed to a private branch where
the jobs are executed. Super-linter should be executed in these
jobs as well to get signal about linting issue before submitting a
PR, to reduce noise to PR reviewers.
This is a first attempt so I've probably got something wrong...
In theory, it ought to be possible to skip the tests for the previous
version. All we're interested in here is whether it builds successfully,
to check that we haven't broken any APIs and not noticed.
The latest Github Actions windows image contains msys2 so use that.
Also use gcc that comes with the image to save downloading clang.
Skip Racket as it's slow enough already.