Skip to content

Make sure type-special-casing for numbers is updated to account for extension types. #3203

Open
@lrhn

Description

@lrhn

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.)

Metadata

Metadata

Assignees

Labels

extension-types-laterIssues about extension types for later consideration

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions