Reports invalid usages of type hints.

Example:


from typing import TypeVar

T0 = TypeVar('T1') # Argument of 'TypeVar' must be 'T0'


def b(p: int) -> int:  # Type specified both in a comment and annotation
    # type: (int) -> int
    pass


def c(p1, p2): # Type signature has too many arguments
    # type: (int) -> int
    pass

Available quick-fixes offer various actions. You can rename, remove, or move problematic elements. You can also manually modify type declarations to ensure no warning is shown.