Skip to content

Pylint does not conform to PEP 585 [generics parametrisation] #3320

Closed
@Starwort

Description

@Starwort

Steps to reproduce

  1. Use following code:
from __future__ import annotations

def find(haystack: dict[str, list[int]]) -> int:
    ...
  1. Run pylint

Current behaviour

pylint bug.py:4:19: E1136: Value 'dict' is unsubscriptable (unsubscriptable-object)
pylint bug.py:4:29: E1136: Value 'list' is unsubscriptable (unsubscriptable-object)

Expected behaviour

The errors are not thrown as that is the direct example of PEP 585, which is about parametrising standard types; ergo the syntax is valid because of the annotations __future__ import.

pylint --version output

pylint 2.4.4
astroid 2.3.3
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]

[ reissue of #3236 due to supporting PEP ]
Edited for formatting

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions