Skip to content

mypy Type error for a class with an imported metaclass #9185

Open
@seanp2

Description

@seanp2

Please provide more information to help us understand the issue:

  • Are you reporting a bug, or opening a feature request? bug
  • Please insert below the code you are checking with mypy,
    or a mock-up repro if the source is private. We would appreciate
    if you try to simplify your case to a minimal repro.
    Here is an example class I am working with.
@enum.unique
class MyEnumClass(Enum, metaclass=MyEnumMetaClass):
    OUT_OF_STOCK = "Out of Stock"
    LOW_STOCK = "Low Stock"
    IN_STOCK = "In Stock"
    EXCESS = "Excess"

I am making a change where I am importing the MyEnumMetaClass class from a PIP package now, whereas before it was located within the same project as this class.

  • What is the actual behavior/output?
    With MyEnumMetaClass imported, whenever I create a MyEnumClass instance, mypy gives me the following error:
    error: The type "Type[MyEnumClass]" is not generic and not indexable
  • What is the behavior/output you expect?
    I expect mypy to succeed here, given that the code is the same, it is just imported from a package now.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions