Skip to content

False positive on __required__ and __optional__ on TypedDict. #10158

Open
@rcosperec

Description

@rcosperec

Bug description

from typing import TypedDict, Required, NotRequired

class MyDict(TypedDict):
    required: Required[str]
    not_required: NotRequired[str]
    implicitely_required: str

def main():
    print(MyDict.__required_keys__)
    print(MyDict.__optional_keys__)

if __name__ == "__main__":
    main()

Configuration

Command used

pylint --disable=missing-docstring main.py

Pylint output

************* Module main
main.py:9:10: E1101: Class 'MyDict' has no '__required_keys__' member (no-member)
main.py:10:10: E1101: Class 'MyDict' has no '__optional_keys__' member (no-member)

Expected behavior

Pylint shouldn't report it as a missing member as the code runs without any issue.

It seems the same issue was already fixed for annotations

Pylint version

pylint 3.3.3
astroid 3.3.8
Python 3.11.10 (main, Sep  7 2024, 01:03:31) [Clang 15.0.0 (clang-1500.3.9.4)]

OS / Environment

Darwin 24.2.0

Additional dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    False Positive 🦟A message is emitted but nothing is wrong with the codeNeeds PRThis issue is accepted, sufficiently specified and now needs an implementationtyping

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions