Skip to content

Conversation

Gobot1234
Copy link
Contributor

@Gobot1234 Gobot1234 commented Oct 8, 2025

  • Change is either:
    • To a Draft PEP
    • To an Accepted or Final PEP, with Steering Council approval
    • To fix an editorial issue (markup, typo, link, header, etc)
  • PR title prefixed with PEP number (e.g. PEP 123: Summary of changes)

📚 Documentation preview 📚: https://pep-previews--4649.org.readthedocs.build/

@Gobot1234 Gobot1234 requested a review from gvanrossum as a code owner October 8, 2025 15:10
@python-cla-bot
Copy link

python-cla-bot bot commented Oct 8, 2025

All commit authors signed the Contributor License Agreement.

CLA signed

@Gobot1234
Copy link
Contributor Author

Gobot1234 commented Oct 8, 2025

Please can someone get the CLA bot to re-run? I'm not sure why it's requesting that email TBH. I've already signed it for my email [email protected]

Sorry I can't test I can't get make installed
@defjaf
Copy link

defjaf commented Oct 8, 2025

I don't think that the word "subscription" is being used correctly.

@hugovk
Copy link
Member

hugovk commented Oct 8, 2025

Please can someone get the CLA bot to re-run? I'm not sure why it's requesting that email TBH. I've already signed it for my email [email protected]

You committed with your Git client configured with that email, see https://github.com/python/peps/pull/4649.patch

You also need to sign it with that.

the runtime type. The only change is that more situations will be decidable and the
behaviour/overload can be specified by the developer rather than leaving it to ordering
of overloads/unions.
Overloaded functions should work much the same as they already do, since they do not
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is about the runtime behavior of calling overloaded functions?

of overloads/unions.
Overloaded functions should work much the same as they already do, since they do not
affect the runtime type. Explicit specialisation will restrict the set of available
overloads.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's worth spelling out in detail how this would work. What I'd expect is that if the function is subscripted, only those overloads are considered for which the subscription may succeed. So if you have an overload make[*Ts], one with make[T], and one with just make, then a call to make[int] will only consider the first and second, and a call to make[int, str] will only consider the first. This could be another step in the overload resolution spec before all the current steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants