Skip to content

Consider making staticmethod and classmethod generic#132457

@sobolevn

Description

@sobolevn

Feature or enhancement

Typeshed defines staticmethod and classmethod as generics:

  1. https://github.com/python/typeshed/blob/f6216ec6230aa51fe7e23afca30a8f5b18ace476/stdlib/builtins.pyi#L137
  2. https://github.com/python/typeshed/blob/f6216ec6230aa51fe7e23afca30a8f5b18ace476/stdlib/builtins.pyi#L154

It makes sense, because they are very callable-like. However:

>>>staticmethod[int] Traceback (mostrecentcalllast): File"<python-input-0>", line1, in<module>staticmethod[int] ~~~~~~~~~~~~^^^^^TypeError: type'staticmethod'isnotsubscriptable>>>classmethod[int] Traceback (mostrecentcalllast): File"<python-input-1>", line1, in<module>classmethod[int] ~~~~~~~~~~~^^^^^TypeError: type 'classmethod'isnotsubscriptable

We should consider making them generics in runtime as well.

@AlexWaygood@JelleZijlstra thoughts?
If you agree, I have a PR ready.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions