julia
julia copied to clipboard
`Integer`s in the type domain
Introduce TypeDomainInteger, a subtype of Integer in the type domain. That is, each value is of singleton type.
These type domain integers are then applied to many places in Base (yet other applications are also possible).
To be clear, this should go into Base, as opposed to a user package, because:
- the invalidations when defining a new
Integersubtype are horrid - it should be utilized from within
Base, e.g., it fixes the bug below for irrationals
Fixes #37977
Updates #34003
Closes #44538