Description
Extension types allow introducing subtypes of num
and int
.
We should make sure that the special-case rules for typing of int + int
are aware of this, and figure out what we want them to do when meeting a surprising subtype of int
.
If the rules usees phrasing as "is a non-Never
subtype of int
", that's no longer guaranteed to be the type int
or a type variable with bound or promotion to int
, or necessarily use the operator+
of int
.
We may just have to add something like "and the +
operator an instance member, not an extension type member" to discount a subtype which shadows the instance method with an extension method.
But first we should look at the rules, figure out if there is a problem, and whether or not, if they should be changed.
(We may want extension type subtypes of int
to work in some cases, where they wouldn't with the current phrasing. Impossible to know without checking.)