diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md deleted file mode 100644 index 1b3a16eeb..000000000 --- a/.github/ISSUE_TEMPLATE/bug.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -name: Bug Report -about: Submit a bug report -labels: "bug" ---- - - - -**Bug Report** - - - -(A clear and concise description of what the bug is.) - -**To Reproduce** - -(Write your steps here:) - -1. Step 1... -2. Step 2... -3. Step 3... - -**Expected Behavior** - - - -(Write what you thought would happen.) - -**Actual Behavior** - - - -(Write what happened.) - -**Your Environment** - - - -- Mypy version used: -- Mypy command-line flags: -- Mypy configuration options from `mypy.ini` (and other config files): -- Python version used: -- Operating system and version: - - diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 000000000..6aa424315 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,35 @@ +name: Bug Report +description: Something isn't working as it should +labels: "bug" + +body: + - type: textarea + attributes: + label: Describe the problem, ie expected/actual result (if it's not blatantly obvious) + - type: textarea + attributes: + label: Gist to reproduce + description: > + Full source code is appreciated. We also very much appreciate + it if you try to narrow the source down to a small stand-alone example. + render: python + - type: markdown + attributes: + value: "# Your Environment" + - type: textarea + attributes: + label: Basedmypy version + description: output of `mypy --version` + - type: input + attributes: + label: Command-line flags + - type: input + attributes: + label: Configuration options from `pyproject.toml` (and other config files) + - type: input + attributes: + label: Python version used + - type: input + attributes: + label: Operating system and version + description: Linux/macOS/Windows/wsl etc diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 64a2e6494..69e264005 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,7 +1,4 @@ contact_links: - - about: "Please check the linked documentation page before filing new issues." - name: "Common issues and solutions" - url: "https://mypy.readthedocs.io/en/stable/common_issues.html" - - about: "Please ask and answer any questions on the mypy Gitter." - name: "Questions or Chat" - url: "https://gitter.im/python/typing" + - about: "Please ask and answer usage questions in our official Discord." + name: Questions, help and discussion + url: "https://discord.gg/7y9upqPrk2" diff --git a/.github/ISSUE_TEMPLATE/crash.md b/.github/ISSUE_TEMPLATE/crash.md deleted file mode 100644 index fed16a8d2..000000000 --- a/.github/ISSUE_TEMPLATE/crash.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Crash Report -about: Crash (traceback or "INTERNAL ERROR") -labels: "crash" ---- - - - -**Crash Report** - -(Tell us what happened.) - -**Traceback** - -``` -(Insert traceback and other messages from mypy here -- use `--show-traceback`.) -``` - -**To Reproduce** - -(Write what you did to reproduce the crash. Full source code is -appreciated. We also very much appreciate it if you try to narrow the -source down to a small stand-alone example.) - -**Your Environment** - - - -- Mypy version used: -- Mypy command-line flags: -- Mypy configuration options from `mypy.ini` (and other config files): -- Python version used: -- Operating system and version: - - diff --git a/.github/ISSUE_TEMPLATE/crash.yml b/.github/ISSUE_TEMPLATE/crash.yml new file mode 100644 index 000000000..47f355f6d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/crash.yml @@ -0,0 +1,45 @@ +name: Crash Report +description: Use this form only if mypy reports an "INTERNAL ERROR", "IMPOSTER DETECTED" and/or gives a traceback. +labels: "crash" + +body: + - type: dropdown + attributes: + label: Is this crash exclusive to basedmypy, or does it also occur with mypy? + options: [yes, no] + - type: textarea + attributes: + label: Crash Report + description: Tell us what happened. + - type: textarea + attributes: + label: Traceback + description: Please include the traceback and all other messages below (use `mypy --show-traceback`) + render: markdown + - type: textarea + attributes: + label: Gist to reproduce + description: > + Full source code is appreciated. We also very much appreciate + it if you try to narrow the source down to a small stand-alone example. + render: python + - type: markdown + attributes: + value: "# Your Environment" + - type: textarea + attributes: + label: Basedmypy version + description: output of `mypy --version` + - type: input + attributes: + label: Command-line flags + - type: input + attributes: + label: Configuration options from `pyproject.toml` (and other config files) + - type: input + attributes: + label: Python version used + - type: input + attributes: + label: Operating system and version + description: Linux/macOS/Windows/wsl etc diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md index c765cc314..c4caef3ac 100644 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -4,6 +4,4 @@ about: Report a problem with the documentation labels: "documentation" --- -**Documentation** - (A clear and concise description of the issue.) diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md index 135bc2bd3..646a5bbc9 100644 --- a/.github/ISSUE_TEMPLATE/feature.md +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -1,13 +1,11 @@ --- name: Feature -about: Submit a proposal for a new mypy feature +about: Submit a proposal for a based new mypy feature labels: "feature" --- -**Feature** +Before you raise this, consider if it's better suited to a discussion: https://github.com/KotlinIsland/basedmypy/discussions -(A clear and concise description of your feature proposal.) + -**Pitch** - -(Please explain why this feature should be implemented and how it would be used. Add examples, if applicable.) + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4794ec05c..11c653315 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,22 +1 @@ -### Have you read the [Contributing Guidelines](https://github.com/python/mypy/blob/master/CONTRIBUTING.md)? - -(Once you have, delete this section. If you leave it in, your PR may be closed without action.) - -### Description - - - -(Explain how this PR changes mypy.) - -## Test Plan - - - -(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.) +Please include an amongus reference in this PR. diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 7edfa0358..6014a49fa 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -7,7 +7,7 @@ on: jobs: build-wheels: - if: github.repository == 'python/mypy' + if: github.repository == 'KotlinIsland/basedmypy' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/mypy_primer.yml b/.github/workflows/mypy_primer.yml index 5fbd47110..a0890db4d 100644 --- a/.github/workflows/mypy_primer.yml +++ b/.github/workflows/mypy_primer.yml @@ -42,7 +42,7 @@ jobs: echo "new commit" git rev-list --format=%s --max-count=1 $GITHUB_SHA - MERGE_BASE=$(git merge-base $GITHUB_SHA origin/master) + MERGE_BASE=$(git merge-base $GITHUB_SHA origin/${{ github.base_ref }}) git checkout -b base_commit $MERGE_BASE echo "base commit" git rev-list --format=%s --max-count=1 base_commit diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5b975931f..23882a74e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,7 +2,7 @@ name: Tests on: push: - branches: [master, 'release*'] + branches: [master, 'release*', 'rebase-master'] tags: ['*'] pull_request: paths-ignore: @@ -43,8 +43,8 @@ jobs: os: ubuntu-latest toxenv: py tox_extra_args: "-n 2" - - name: Test suite with py36-ubuntu, mypyc-compiled - python: '3.6' + - name: Test suite with py37-ubuntu, mypyc-compiled + python: '3.7' arch: x64 os: ubuntu-latest toxenv: py @@ -63,17 +63,17 @@ jobs: os: ubuntu-latest toxenv: py tox_extra_args: "-n 2" - - name: mypyc runtime tests with py36-macos - python: '3.6' + - name: mypyc runtime tests with py37-macos + python: '3.7' arch: x64 os: macos-latest toxenv: py tox_extra_args: "-n 2 mypyc/test/test_run.py mypyc/test/test_external.py" - - name: mypyc runtime tests with py36-debug-build-ubuntu - python: '3.6.8' + - name: mypyc runtime tests with py37-debug-build-ubuntu + python: '3.7.12' arch: x64 os: ubuntu-latest - toxenv: py36 + toxenv: py37 tox_extra_args: "-n 2 mypyc/test/test_run.py mypyc/test/test_external.py" debug_build: true - name: Type check our own code (py37-ubuntu) diff --git a/.gitignore b/.gitignore index b2306b960..c6761f0ed 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ docs/source/_build mypyc/doc/_build *.iml /out/ -.venv +.venv* venv/ .mypy_cache/ .incremental_checker_cache.json diff --git a/.mypy/baseline.json b/.mypy/baseline.json new file mode 100644 index 000000000..046f1234b --- /dev/null +++ b/.mypy/baseline.json @@ -0,0 +1,32557 @@ +{ + "files": { + "mypy/applytype.py": [ + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 100, + "target": "mypy.applytype.apply_generic_arguments" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.applytype.apply_generic_arguments" + } + ], + "mypy/bogus_type.py": [ + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"type[FlexibleAlias[Any, Any]]\")", + "offset": 24, + "target": "mypy.bogus_type" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"type[FlexibleAlias[Any, Any]]\")", + "offset": 0, + "target": "mypy.bogus_type" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"type[FlexibleAlias[Any, Any]]\")", + "offset": 0, + "target": "mypy.bogus_type" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"type[FlexibleAlias[Any, Any]]\")", + "offset": 0, + "target": "mypy.bogus_type" + } + ], + "mypy/build.py": [ + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 209, + "target": "mypy.build._build" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypy.build._build" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 1, + "target": "mypy.build._build" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypy.build._build" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 90, + "target": "mypy.build" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 11, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 7, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | int\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | list[str]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"list[str | Any (from a limitation)]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | list[str]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"list[str | Any (from a limitation)]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | list[int]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[int | Any (from a limitation)]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | list[int]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[int | Any (from a limitation)]\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.cache_meta_from_dict" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 90, + "target": "mypy.build.load_plugins_from_config" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.build.load_plugins_from_config" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.build.load_plugins_from_config" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.build.load_plugins_from_config" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 52, + "target": "mypy.build.take_module_snapshot" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 1, + "target": "mypy.build.take_module_snapshot" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 83, + "target": "mypy.build.BuildManager.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 231, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 2, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"dict[Any, set[Any]]\")", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[Any, set[Any]]\")", + "offset": 2, + "target": "mypy.build.BuildManager.load_fine_grained_deps" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 37, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.BuildManager.add_stats" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.build.BuildManager.stats_summary" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 4, + "target": "mypy.build.deps_to_json" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.build.deps_to_json" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 61, + "target": "mypy.build.write_deps_cache" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.write_deps_cache" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"baseline_format\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 199, + "target": "mypy.build.load_baseline" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.build.load_baseline" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.build.load_baseline" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.build.load_baseline" + }, + { + "code": "truthy-bool", + "column": 7, + "message": "\"baseline_errors\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 11, + "target": "mypy.build.load_baseline" + }, + { + "code": "truthy-bool", + "column": 7, + "message": "\"baseline_errors\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.build.load_baseline" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 32, + "target": "mypy.build.read_plugins_snapshot" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 3, + "target": "mypy.build.read_plugins_snapshot" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.read_plugins_snapshot" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 1, + "target": "mypy.build.read_plugins_snapshot" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.build.read_plugins_snapshot" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 10, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 6, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"(Any, Any, Any)\")", + "offset": 1, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_quickstart_file" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 15, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 3, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 7, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 5, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-return", + "column": 4, + "message": "Returning Any from function declared to return \"dict[str, FgDepMeta] | None\"", + "offset": 3, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.read_deps_cache" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.build._load_json_file" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypy.build._load_json_file" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"dict[str, Any] | None\"", + "offset": 14, + "target": "mypy.build._load_json_file" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build._load_json_file" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 89, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 16, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 4, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 7, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "redundant-expr", + "column": 12, + "message": "Left operand of \"or\" is always false", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "redundant-expr", + "column": 31, + "message": "Left operand of \"or\" is always false", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "redundant-expr", + "column": 12, + "message": "Left operand of \"or\" is always false", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 5, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 6, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 24, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 5, + "target": "mypy.build.find_cache_meta" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 14, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 4, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 10, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 4, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 34, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 6, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 7, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 12, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 8, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 6, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 5, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 4, + "target": "mypy.build.validate_meta" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 12, + "target": "mypy.build.json_dumps" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.build.json_dumps" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.build.json_dumps" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 47, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 52, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 14, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(str, CacheMeta)\")", + "offset": 7, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.build.write_cache" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 183, + "target": "mypy.build" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 106, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 6, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 2, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.State.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 29, + "target": "mypy.build.State.xmeta" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(State) -> CacheMeta\")", + "offset": 0, + "target": "mypy.build" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 1, + "target": "mypy.build.State.xmeta" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.State.xmeta" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 24, + "target": "mypy.build.State.is_fresh" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 0, + "target": "mypy.build.State.is_fresh" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 2, + "target": "mypy.build.State.is_fresh" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 50, + "target": "mypy.build.State.load_tree" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 3, + "target": "mypy.build.State.load_tree" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.State.load_tree" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 2, + "target": "mypy.build.State.load_tree" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 5, + "target": "mypy.build.State.load_tree" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 225, + "target": "mypy.build.State.type_check_second_pass" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(str, CacheMeta | None)\")", + "offset": 108, + "target": "mypy.build.State.write_cache" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(str, CacheMeta | None)\")", + "offset": 0, + "target": "mypy.build.State.write_cache" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 62, + "target": "mypy.build.State.generate_unused_ignore_notes" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 288, + "target": "mypy.build.log_configuration" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.build.log_configuration" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 53, + "target": "mypy.build.dispatch" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.dispatch" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.dispatch" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.build.dispatch" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 300, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 1, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 1, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 3, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 3, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 5, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 4, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.build.process_graph" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 107, + "target": "mypy.build.order_ascc" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 115, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.build.sorted_components" + } + ], + "mypy/checker.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.semanal\" does not explicitly export attribute \"set_callable_name\"; implicit reexport disabled", + "offset": 77, + "target": "mypy.checker" + }, + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.semanal\" does not explicitly export attribute \"set_callable_name\"; implicit reexport disabled", + "offset": 0, + "target": "mypy.checker" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 450, + "target": "mypy.checker.TypeChecker.check_overlapping_overloads" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 16, + "target": "mypy.checker.TypeChecker.check_overlapping_overloads" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.checker.TypeChecker.check_overlapping_overloads" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.checker.TypeChecker.check_overlapping_overloads" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 395, + "target": "mypy.checker.TypeChecker.check_func_item" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 124, + "target": "mypy.checker.TypeChecker.check_func_def" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_func_def" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 221, + "target": "mypy.checker.TypeChecker.check_for_missing_annotations" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_for_missing_annotations" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 17, + "target": "mypy.checker.TypeChecker.check_for_missing_annotations" + }, + { + "code": "redundant-expr", + "column": 11, + "message": "Left operand of \"and\" is always true", + "offset": 19, + "target": "mypy.checker.TypeChecker.check___new___signature" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 187, + "target": "mypy.checker.TypeChecker.check_overlapping_op_methods" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 162, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"product[tuple[Any, ...]]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.expand_typevars" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 174, + "target": "mypy.checker.TypeChecker.get_op_other_domain" + }, + { + "code": "redundant-expr", + "column": 11, + "message": "Left operand of \"and\" is always true", + "offset": 41, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 3, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 9, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_override" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 77, + "target": "mypy.checker.TypeChecker.check__exit__return_type" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 287, + "target": "mypy.checker.TypeChecker.determine_type_of_class_member" + }, + { + "code": "truthy-bool", + "column": 23, + "message": "\"signature\" has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 251, + "target": "mypy.checker.TypeChecker.check_assignment" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 102, + "target": "mypy.checker.TypeChecker.check_assignment" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_assignment" + }, + { + "code": "truthy-bool", + "column": 19, + "message": "\"rvalue_type\" has type \"ProperType\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 9, + "target": "mypy.checker.TypeChecker.check_assignment" + }, + { + "code": "truthy-bool", + "column": 19, + "message": "\"rvalue_type\" has type \"ProperType\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_assignment" + }, + { + "code": "redundant-expr", + "column": 20, + "message": "Left operand of \"and\" is always true", + "offset": 97, + "target": "mypy.checker.TypeChecker.check_compatibility_all_supers" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"compare_type\" has type \"ProperType\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 50, + "target": "mypy.checker.TypeChecker.check_compatibility_super" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.check_compatibility_super" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_compatibility_super" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.checker.TypeChecker.check_compatibility_super" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 58, + "target": "mypy.checker.TypeChecker.lvalue_type_from_base" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.lvalue_type_from_base" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 170, + "target": "mypy.checker.TypeChecker.is_assignable_slot" + }, + { + "code": "no-any-explicit", + "column": 36, + "message": "Explicit \"Any\" is not allowed", + "offset": 184, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_multi_assignment_from_union" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 127, + "target": "mypy.checker.TypeChecker.type_is_iterable" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.type_is_iterable" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"var\" has type \"Var\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 168, + "target": "mypy.checker.TypeChecker.set_inferred_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"var\" has type \"Var\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.checker.TypeChecker.set_inferred_type" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 150, + "target": "mypy.checker.TypeChecker.check_member_assignment" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.checker.TypeChecker.check_member_assignment" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_member_assignment" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 624, + "target": "mypy.checker.TypeChecker.visit_decorator" + }, + { + "code": "no-any-expr", + "column": 85, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 4, + "target": "mypy.checker.TypeChecker.visit_decorator" + }, + { + "code": "no-any-expr", + "column": 85, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.visit_decorator" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1262, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 4, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checker.TypeChecker.check_subtype" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 75, + "target": null + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 292, + "target": "mypy.checker.TypeChecker.iterable_item_type" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 603, + "target": "mypy.checker.overload_can_never_match" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.checker.is_more_general_arg_prefix" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.checker.is_more_general_arg_prefix" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 344, + "target": "mypy.checker.group_comparison_operands" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.group_comparison_operands" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.checker.group_comparison_operands" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 6, + "target": "mypy.checker.is_typed_callable" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.checker.is_untyped_decorator" + } + ], + "mypy/checkexpr.py": [ + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 243, + "target": "mypy.checkexpr.ExpressionChecker.analyze_ref_expr" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.analyze_ref_expr" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 1, + "target": null + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 114, + "target": "mypy.checkexpr.ExpressionChecker.visit_call_expr_inner" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.visit_call_expr_inner" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 11, + "target": "mypy.checkexpr.ExpressionChecker.visit_call_expr_inner" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.visit_call_expr_inner" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 124, + "target": "mypy.checkexpr.ExpressionChecker.method_fullname" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.method_fullname" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 31, + "target": "mypy.checkexpr.ExpressionChecker.always_returns_none" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.always_returns_none" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 16, + "target": "mypy.checkexpr.ExpressionChecker.defn_returns_none" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.defn_returns_none" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 6, + "target": "mypy.checkexpr.ExpressionChecker.defn_returns_none" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.defn_returns_none" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 12, + "target": "mypy.checkexpr.ExpressionChecker.check_runtime_protocol_test" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_runtime_protocol_test" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 8, + "target": "mypy.checkexpr.ExpressionChecker.check_protocol_issubclass" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_protocol_issubclass" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 288, + "target": "mypy.checkexpr.ExpressionChecker.apply_signature_hook" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 17, + "target": "mypy.checkexpr.ExpressionChecker.apply_signature_hook" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 97, + "target": "mypy.checkexpr.ExpressionChecker.check_call_expr_with_callee_type" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_call_expr_with_callee_type" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 56, + "target": "mypy.checkexpr.ExpressionChecker.check_call" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 144, + "target": "mypy.checkexpr.ExpressionChecker.analyze_type_type_callee" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 3, + "target": "mypy.checkexpr.ExpressionChecker.analyze_type_type_callee" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 15, + "target": "mypy.checkexpr.ExpressionChecker.analyze_type_type_callee" + }, + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 402, + "target": "mypy.checkexpr.ExpressionChecker.check_argument_types" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 36, + "target": "mypy.checkexpr.ExpressionChecker.check_arg" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_arg" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"zip[tuple[Any, ...]]\")", + "offset": 56, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 5, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 71, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 3, + "target": "mypy.checkexpr.ExpressionChecker.check_overload_call" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 302, + "target": "mypy.checkexpr.ExpressionChecker.combine_function_signatures" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 915, + "target": "mypy.checkexpr.ExpressionChecker.check_boolean_op" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.check_boolean_op" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 145, + "target": "mypy.checkexpr.ExpressionChecker.visit_index_with_type" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.visit_index_with_type" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 208, + "target": "mypy.checkexpr.ExpressionChecker.visit_type_application" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.visit_type_application" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 40, + "target": null + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 39, + "target": "mypy.checkexpr.ExpressionChecker.apply_type_arguments_to_callable" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 335, + "target": "mypy.checkexpr.ExpressionChecker.infer_lambda_type_using_context" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 4, + "target": "mypy.checkexpr.ExpressionChecker.infer_lambda_type_using_context" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 9, + "target": "mypy.checkexpr.ExpressionChecker.infer_lambda_type_using_context" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 268, + "target": "mypy.checkexpr.ExpressionChecker.check_for_comp" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 13, + "target": "mypy.checkexpr.ExpressionChecker.visit_conditional_expr" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 170, + "target": "mypy.checkexpr.ExpressionChecker.has_member" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.ExpressionChecker.has_member" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 405, + "target": "mypy.checkexpr.arg_approximate_similarity" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded], type[TypeType])\")", + "offset": 1, + "target": "mypy.checkexpr.arg_approximate_similarity" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkexpr.arg_approximate_similarity" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 20, + "target": "mypy.checkexpr.arg_approximate_similarity" + } + ], + "mypy/checkmember.py": [ + { + "code": "redundant-expr", + "column": 15, + "message": "Left operand of \"and\" is always true", + "offset": 252, + "target": "mypy.checkmember.analyze_instance_member_access" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 189, + "target": "mypy.checkmember.analyze_member_var_access" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 21, + "target": "mypy.checkmember.analyze_member_var_access" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.checkmember.analyze_member_var_access" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"chk\" has type \"TypeChecker\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 11, + "target": "mypy.checkmember.analyze_member_var_access" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"chk\" has type \"TypeChecker\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.checkmember.analyze_member_var_access" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 81, + "target": "mypy.checkmember.analyze_descriptor_access" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 79, + "target": "mypy.checkmember.analyze_var" + }, + { + "code": "truthy-bool", + "column": 7, + "message": "\"result\" has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 11, + "target": "mypy.checkmember.analyze_var" + }, + { + "code": "truthy-bool", + "column": 7, + "message": "\"result\" has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.checkmember.analyze_var" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 11, + "target": "mypy.checkmember.freeze_type_vars" + }, + { + "code": "unreachable", + "column": 66, + "message": "Right operand of \"and\" is never evaluated", + "offset": 167, + "target": "mypy.checkmember.analyze_class_attribute_access" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 39, + "target": "mypy.checkmember.analyze_class_attribute_access" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 107, + "target": "mypy.checkmember.add_class_tvars" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 116, + "target": "mypy.checkmember.is_valid_constructor" + } + ], + "mypy/checkstrformat.py": [ + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 125, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 1, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 1, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 1, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 1, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"dict[str, str | Any]\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.__init__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.has_key" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.ConversionSpecifier.has_star" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 38, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 7, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any | None | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 5, + "target": "mypy.checkstrformat.parse_format_value" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 117, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 9, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any | None | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Literal[True] | str | Any | None\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 4, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 8, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_specs_in_format_call" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 21, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 9, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 9, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.perform_special_format_checks" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 92, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any | None | bool\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 9, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 4, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.auto_generate_keys" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 10, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.apply_field_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 35, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 8, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.validate_and_transform_accessors" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 58, + "target": "mypy.checkstrformat.StringFormatterChecker.analyze_conversion_specifiers" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.analyze_conversion_specifiers" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.analyze_conversion_specifiers" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 80, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 6, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.check_mapping_str_interpolation" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 52, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 4, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.checkstrformat.StringFormatterChecker.replacement_checkers" + } + ], + "mypy/config_parser.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 24, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 8, + "target": "mypy.config_parser.parse_version" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.config_parser.parse_version" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 25, + "target": "mypy.config_parser.try_split" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.config_parser.try_split" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.config_parser.try_split" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.config_parser.try_split" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, (Any) -> Any)\")", + "offset": 67, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"(Any) -> Any\")", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-return", + "column": 43, + "message": "Returning Any from function declared to return \"str | bool | int | float | dict[str, str] | list[str] | (int, int)\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 3, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> list[str]\")", + "offset": 8, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> list[str]\")", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 1, + "target": "mypy.config_parser" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 38, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"dict[str | Any (from a limitation), Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"Any | dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 2, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"Any | dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-explicit", + "column": 16, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression type contains \"Any\" (has type \"MutableMapping[str, Any]\")", + "offset": 9, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"MutableMapping[str, Any]\")", + "offset": 11, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"MutableMapping[str, Any]\")", + "offset": 4, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 5, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"MutableMapping[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"ItemsView[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_config_file" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 40, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 32, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Literal[False] | Any\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 4, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.destructure_overrides" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 12, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 7, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 4, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 19, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"type[Any] | type[None]\")", + "offset": 6, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 1, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 3, + "target": "mypy.config_parser.parse_section" + }, + { + "code": null, + "column": 24, + "message": "Error code \"no-any-expr\" not covered by \"type: ignore\" comment", + "offset": 0, + "target": null + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 11, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.config_parser.parse_section" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.config_parser.convert_to_boolean" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.config_parser.convert_to_boolean" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.config_parser.convert_to_boolean" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.config_parser.convert_to_boolean" + } + ], + "mypy/constraints.py": [ + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 270, + "target": "mypy.constraints.any_constraints" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 154, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 0, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 14, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 11, + "target": null + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 23, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 80, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 34, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 80, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 89, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 186, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_overloaded" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.constraints.ConstraintBuilderVisitor.visit_type_type" + } + ], + "mypy/copytype.py": [ + { + "code": "no-any-explicit", + "column": 44, + "message": "Explicit \"Any\" is not allowed", + "offset": 101, + "target": "mypy.copytype.TypeShallowCopier.visit_type_type" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.copytype.TypeShallowCopier.visit_type_type" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.copytype.TypeShallowCopier.visit_type_type" + } + ], + "mypy/dmypy/client.py": [ + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 152, + "target": "mypy.dmypy.client.main" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 6, + "target": "mypy.dmypy.client.main" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.main" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 39, + "target": "mypy.dmypy.client.do_start" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 33, + "target": "mypy.dmypy.client.start_server" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.start_server" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.start_server" + }, + { + "code": "no-any-expr", + "column": 81, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.start_server" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.start_server" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 37, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 80, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 84, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_run" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 5, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_status" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 9, + "target": "mypy.dmypy.client.do_stop" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_stop" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_stop" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_stop" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.dmypy.client.do_kill" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_kill" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 13, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_check" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 19, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 83, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_recheck" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 10, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 76, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.do_suggest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.check_output" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 17, + "target": "mypy.dmypy.client.do_hang" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy.client.do_hang" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_hang" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_hang" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "assignment", + "column": 12, + "message": "Incompatible types in assignment (expression has type \"IO[Any]\", variable has type \"TextIO\")", + "offset": 1, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "assignment", + "column": 38, + "message": "Incompatible types in assignment (expression has type \"IO[Any]\", variable has type \"TextIO\")", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.do_daemon" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 12, + "target": "mypy.dmypy.client.request" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 27, + "target": "mypy.dmypy.client.request" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 17, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy.client.check_status" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypy.dmypy.client.read_status" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.dmypy.client.read_status" + } + ], + "mypy/dmypy_server.py": [ + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 215, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-explicit", + "column": 20, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 5, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 9, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.serve" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 13, + "target": "mypy.dmypy_server.Server.run_command" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.run_command" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"dict[str, object]\"", + "offset": 7, + "target": "mypy.dmypy_server.Server.run_command" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy_server.Server.run_command" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypy.dmypy_server.Server.cmd_status" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.cmd_status" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.cmd_status" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.cmd_status" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 52, + "target": "mypy.dmypy_server.Server.cmd_run" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 9, + "target": "mypy.dmypy_server.Server.cmd_check" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (unannotated)\"", + "offset": 24, + "target": "mypy.dmypy_server.Server.cmd_recheck" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 11, + "target": "mypy.dmypy_server.Server.cmd_recheck" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy_server.Server.cmd_recheck" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.cmd_recheck" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.dmypy_server.Server.check" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 8, + "target": "mypy.dmypy_server.Server.check" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 8, + "target": "mypy.dmypy_server.Server.check" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.check" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 7, + "target": "mypy.dmypy_server.Server.update_stats" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypy.dmypy_server.Server.update_stats" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.update_stats" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 8, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 16, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 18, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 1, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 4, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 81, + "message": "Expression type contains \"Any\" (has type \"CacheMeta\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 38, + "target": "mypy.dmypy_server.Server.initialize_fine_grained" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 264, + "target": "mypy.dmypy_server.Server.increment_output" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypy.dmypy_server.Server.increment_output" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 71, + "target": "mypy.dmypy_server.Server.cmd_suggest" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 9, + "target": "mypy.dmypy_server.Server.cmd_suggest" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.dmypy_server.Server.cmd_suggest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 29, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 2, + "target": null + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 5, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 11, + "target": "mypy.dmypy_server.get_meminfo" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.dmypy_server.get_meminfo" + } + ], + "mypy/dmypy_util.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 16, + "target": "mypy.dmypy_util.receive" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.dmypy_util.receive" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.dmypy_util.receive" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 1, + "target": "mypy.dmypy_util.receive" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy_util.receive" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.dmypy_util.receive" + } + ], + "mypy/errors.py": [ + { + "code": "unreachable", + "column": 16, + "message": "Statement is unreachable", + "offset": 870, + "target": "mypy.errors.Errors.render_messages" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (Any, Any)\")", + "offset": 31, + "target": "mypy.errors.Errors.sort_messages" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypy.errors.Errors.sort_messages" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.errors.Errors.sort_messages" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.errors.Errors.sort_messages" + } + ], + "mypy/expandtype.py": [ + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 39, + "target": "mypy.expandtype.freshen_function_type_vars" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 78, + "target": "mypy.expandtype.ExpandTypeVisitor.visit_param_spec" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 3, + "target": "mypy.expandtype.ExpandTypeVisitor.visit_param_spec" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 67, + "target": "mypy.expandtype.ExpandTypeVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.expandtype.ExpandTypeVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 23, + "target": "mypy.expandtype.ExpandTypeVisitor.visit_overloaded" + } + ], + "mypy/fastparse.py": [ + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 113, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 14, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 60, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-return", + "column": 4, + "message": "Returning Any from function declared to return \"MypyFile\"", + "offset": 16, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 18, + "target": "mypy.fastparse.parse_type_ignore_tag" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.fastparse.parse_type_ignore_tag" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.fastparse.parse_type_ignore_tag" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.fastparse.parse_type_ignore_tag" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.fastparse.parse_type_ignore_tag" + }, + { + "code": "no-any-explicit", + "column": 33, + "message": "Explicit \"Any\" is not allowed", + "offset": 27, + "target": "mypy.fastparse.parse_type_comment" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse_type_comment" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.parse_type_comment" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[Expression]\")", + "offset": 9, + "target": "mypy.fastparse.parse_type_comment" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 43, + "target": "mypy.fastparse.is_no_type_check_decorator" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[Attribute]\")", + "offset": 2, + "target": "mypy.fastparse.is_no_type_check_decorator" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 1, + "target": "mypy.fastparse.is_no_type_check_decorator" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 21, + "target": "mypy.fastparse.ASTConverter.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 23, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[type, (AST | None) -> Any]\")", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | None\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | None\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[type, (AST | None) -> Any]\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | Any\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.set_line" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"type[expr]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.set_line" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.set_line" + }, + { + "code": "no-any-expr", + "column": 78, + "message": "Expression type contains \"Any\" (has type \"type[expr]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.set_line" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse.ASTConverter.translate_opt_expr_list" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.translate_opt_expr_list" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"(type[AsyncFunctionDef], type[ClassDef], type[FunctionDef])\")", + "offset": 7, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"(type[AsyncFunctionDef], type[ClassDef], type[FunctionDef])\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[AsyncFunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[AsyncFunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"type[ClassDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"type[ClassDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression type contains \"Any\" (has type \"type[FunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression type contains \"Any\" (has type \"type[FunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 20, + "target": "mypy.fastparse.ASTConverter.translate_stmt_list" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.translate_stmt_list" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Add]\")", + "offset": 20, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Add], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Sub]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Sub], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Mult]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Mult], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[MatMult]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[MatMult], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Div]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Div], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Mod]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Mod], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Pow]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Pow], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[LShift]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[LShift], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[RShift]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[RShift], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitOr]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitOr], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitXor]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitXor], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitAnd]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitAnd], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[FloorDiv]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[FloorDiv], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Gt]\")", + "offset": 11, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Gt], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Lt]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Lt], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Eq]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Eq], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[GtE]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[GtE], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[LtE]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[LtE], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[NotEq]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[NotEq], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Is]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Is], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[IsNot]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[IsNot], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[In]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[In], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[NotIn]\")", + "offset": 1, + "target": "mypy.fastparse" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[NotIn], str)\")", + "offset": 0, + "target": "mypy.fastparse" + }, + { + "code": "redundant-expr", + "column": 11, + "message": "Left operand of \"and\" is always true", + "offset": 193, + "target": "mypy.fastparse.ASTConverter._check_ifstmt_for_overloads" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[FunctionType]\")", + "offset": 152, + "target": "mypy.fastparse.ASTConverter.do_func_def" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[Ellipsis]\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.do_func_def" + }, + { + "code": "redundant-expr", + "column": 38, + "message": "If condition is always true", + "offset": 16, + "target": "mypy.fastparse.ASTConverter.do_func_def" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 51, + "target": "mypy.fastparse.ASTConverter.do_func_def" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 54, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"enumerate[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, (Any, expr))\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, (Any, expr))\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any, expr)\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any, expr)\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"enumerate[(Any, expr)]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"zip[(Any, expr)]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "redundant-expr", + "column": 29, + "message": "If condition is always false", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.transform_args" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 28, + "target": "mypy.fastparse.ASTConverter.make_argument" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 12, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_ClassDef" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 16, + "target": "mypy.fastparse.ASTConverter.visit_Return" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.fastparse.ASTConverter.visit_Delete" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse.ASTConverter.visit_Assign" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Assign" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypy.fastparse.ASTConverter.visit_AnnAssign" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse.ASTConverter.visit_AugAssign" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_AugAssign" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse.ASTConverter.visit_For" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_For" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.fastparse.ASTConverter.visit_AsyncFor" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_AsyncFor" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.fastparse.ASTConverter.visit_While" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_If" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_With" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_With" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_AsyncWith" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_AsyncWith" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_Try" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Try" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_Try" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_Assert" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Assert" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 44, + "target": "mypy.fastparse.ASTConverter.visit_Expr" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Expr" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 21, + "target": "mypy.fastparse.ASTConverter.visit_NamedExpr" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_NamedExpr" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_NamedExpr" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_NamedExpr" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[And]\")", + "offset": 8, + "target": "mypy.fastparse.ASTConverter.visit_BoolOp" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Or]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_BoolOp" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 22, + "target": "mypy.fastparse.ASTConverter.visit_BinOp" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_BinOp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[Invert]\")", + "offset": 6, + "target": "mypy.fastparse.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[Not]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[UAdd]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[USub]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 16, + "target": "mypy.fastparse.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 26, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 7, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse.ASTConverter.visit_Await" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Await" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_Yield" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_YieldFrom" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[Starred]\")", + "offset": 17, + "target": "mypy.fastparse.ASTConverter.visit_Call" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[Starred]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Call" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Call" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_Call" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 69, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 55, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_FormattedValue" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse.ASTConverter.visit_NameConstant" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_NameConstant" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 11, + "target": "mypy.fastparse.ASTConverter.visit_Attribute" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Slice]\")", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Slice]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression type contains \"Any\" (has type \"type[ExtSlice]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse.ASTConverter.visit_Starred" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.fastparse.ASTConverter.visit_List" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[Store]\")", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_List" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 16, + "target": "mypy.fastparse.ASTConverter.visit_Slice" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Slice" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Slice" + }, + { + "code": "no-any-explicit", + "column": 50, + "message": "Explicit \"Any\" is not allowed", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_ExtSlice" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ExtSlice" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ExtSlice" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_ExtSlice" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"Node\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-explicit", + "column": 26, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 76, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_Match" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_MatchValue" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchValue" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_MatchSingleton" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_MatchSequence" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_MatchStar" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_MatchStar" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchMapping" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchClass" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_MatchAs" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.ASTConverter.visit_MatchAs" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.ASTConverter.visit_MatchAs" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchAs" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.ASTConverter.visit_MatchOr" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchOr" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchOr" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.ASTConverter.visit_MatchOr" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | int\")", + "offset": 44, + "target": "mypy.fastparse.TypeConverter.invalid_type" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 17, + "target": "mypy.fastparse.TypeConverter.visit" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit" + }, + { + "code": "no-any-return", + "column": 16, + "message": "Returning Any from function declared to return \"ProperType | None\"", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[typed_ast.ast3.List]\")", + "offset": 39, + "target": "mypy.fastparse.TypeConverter.visit_Call" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[Str]\")", + "offset": 45, + "target": "mypy.fastparse.TypeConverter._extract_argument_name" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[NameConstant]\")", + "offset": 2, + "target": "mypy.fastparse.TypeConverter._extract_argument_name" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[NameConstant]\")", + "offset": 0, + "target": "mypy.fastparse.TypeConverter._extract_argument_name" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter._extract_argument_name" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter._extract_argument_name" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[BitOr]\")", + "offset": 10, + "target": "mypy.fastparse.TypeConverter.visit_BinOp" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse.TypeConverter.visit_NameConstant" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_NameConstant" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_NameConstant" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 83, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Constant" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"type[USub]\")", + "offset": 9, + "target": "mypy.fastparse.TypeConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | int\")", + "offset": 24, + "target": "mypy.fastparse.TypeConverter.numeric_type" + }, + { + "code": "no-any-explicit", + "column": 26, + "message": "Explicit \"Any\" is not allowed", + "offset": 39, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-explicit", + "column": 26, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Index]\")", + "offset": 13, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-explicit", + "column": 12, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Slice]\")", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[ExtSlice]\")", + "offset": 2, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[Index]\")", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[attr-defined]\" instead)", + "offset": 1, + "target": null + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[Slice]\")", + "offset": 1, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[attr-defined, union-attr]\" instead)", + "offset": 1, + "target": null + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[typed_ast.ast3.Tuple]\")", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse.TypeConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Load]\")", + "offset": 28, + "target": "mypy.fastparse.TypeConverter.visit_List" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 5, + "target": "mypy.fastparse.stringify_name" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[Attribute]\")", + "offset": 2, + "target": "mypy.fastparse.stringify_name" + } + ], + "mypy/fastparse2.py": [ + { + "code": "attr-defined", + "column": 4, + "message": "Module \"mypy.fastparse\" does not explicitly export attribute \"ast3\"; implicit reexport disabled", + "offset": 67, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 51, + "target": "mypy.fastparse2.parse" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fastparse2.parse" + }, + { + "code": "no-any-return", + "column": 4, + "message": "Returning Any from function declared to return \"MypyFile\"", + "offset": 11, + "target": "mypy.fastparse2.parse" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.parse" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 4, + "target": "mypy.fastparse2.is_no_type_check_decorator" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[Attribute]\")", + "offset": 2, + "target": "mypy.fastparse2.is_no_type_check_decorator" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 1, + "target": "mypy.fastparse2.is_no_type_check_decorator" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 36, + "target": "mypy.fastparse2.ASTConverter.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 8, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[type, (AST | None) -> Any]\")", + "offset": 4, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | None\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | None\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[type, (AST | None) -> Any]\")", + "offset": 3, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(AST | None) -> Any | Any\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.fastparse2.ASTConverter.translate_expr_list" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.translate_expr_list" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"(type[ClassDef], type[FunctionDef])\")", + "offset": 5, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"(type[ClassDef], type[FunctionDef])\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[ClassDef]\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[ClassDef]\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[FunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[FunctionDef]\")", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_lineno" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 19, + "target": "mypy.fastparse2.ASTConverter.translate_stmt_list" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.translate_stmt_list" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Add]\")", + "offset": 20, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Add], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Sub]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Sub], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Mult]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Mult], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Div]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Div], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Mod]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Mod], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Pow]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Pow], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[LShift]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[LShift], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[RShift]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[RShift], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitOr]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitOr], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitXor]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitXor], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[BitAnd]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[BitAnd], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[FloorDiv]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[FloorDiv], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Gt]\")", + "offset": 13, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Gt], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Lt]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Lt], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Eq]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Eq], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[GtE]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[GtE], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[LtE]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[LtE], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[NotEq]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[NotEq], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[Is]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[Is], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[IsNot]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[IsNot], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[In]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[In], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[NotIn]\")", + "offset": 1, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[NotIn], str)\")", + "offset": 0, + "target": "mypy.fastparse2" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 109, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "redundant-expr", + "column": 38, + "message": "If condition is always true", + "offset": 9, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 45, + "target": "mypy.fastparse2.ASTConverter.visit_FunctionDef" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 87, + "target": "mypy.fastparse2.ASTConverter.extract_names" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[typed_ast.ast27.Tuple]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.extract_names" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.convert_arg" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[typed_ast.ast27.Tuple]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.convert_arg" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse2.ASTConverter.convert_arg" + }, + { + "code": "no-any-explicit", + "column": 41, + "message": "Explicit \"Any\" is not allowed", + "offset": 17, + "target": "mypy.fastparse2.ASTConverter.get_type" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_type" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.get_type" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 10, + "target": "mypy.fastparse2.ASTConverter.stringify_name" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Attribute]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.stringify_name" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 28, + "target": "mypy.fastparse2.ASTConverter.visit_Return" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.fastparse2.ASTConverter.visit_Delete" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_Assign" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_AugAssign" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_AugAssign" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse2.ASTConverter.visit_For" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_For" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse2.ASTConverter.visit_While" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_If" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.fastparse2.ASTConverter.visit_With" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_With" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_Raise" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"type[TryExcept]\")", + "offset": 10, + "target": "mypy.fastparse2.ASTConverter.visit_TryFinally" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[Name]\")", + "offset": 16, + "target": "mypy.fastparse2.ASTConverter.try_handler" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 6, + "target": "mypy.fastparse2.ASTConverter.try_handler" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.try_handler" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 5, + "target": "mypy.fastparse2.ASTConverter.try_handler" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse2.ASTConverter.visit_Print" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse2.ASTConverter.visit_Exec" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_Exec" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_Exec" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.fastparse2.ASTConverter.visit_Repr" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.fastparse2.ASTConverter.visit_Assert" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Assert" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 42, + "target": "mypy.fastparse2.ASTConverter.visit_Expr" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_Expr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[And]\")", + "offset": 24, + "target": "mypy.fastparse2.ASTConverter.visit_BoolOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[Or]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_BoolOp" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 22, + "target": "mypy.fastparse2.ASTConverter.visit_BinOp" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_BinOp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[Invert]\")", + "offset": 6, + "target": "mypy.fastparse2.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[Not]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[UAdd]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[USub]\")", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.fastparse2.ASTConverter.visit_UnaryOp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 20, + "target": "mypy.fastparse2.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_IfExp" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 26, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_DictComp" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_GeneratorExp" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_Yield" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 37, + "target": "mypy.fastparse2.ASTConverter.visit_Call" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 60, + "target": "mypy.fastparse2.ASTConverter.visit_Attribute" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.fastparse2.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Subscript" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypy.fastparse2.ASTConverter.visit_List" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[Store]\")", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_List" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.fastparse2.ASTConverter.visit_Tuple" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.fastparse2.ASTConverter.visit_Slice" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_Slice" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fastparse2.ASTConverter.visit_Slice" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"Expression\"", + "offset": 8, + "target": "mypy.fastparse2.ASTConverter.visit_Index" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fastparse2.ASTConverter.visit_Index" + } + ], + "mypy/find_sources.py": [ + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> _T) -> _lru_cache_wrapper[_T]\")", + "offset": 163, + "target": "mypy.find_sources" + } + ], + "mypy/fixup.py": [ + { + "code": "truthy-bool", + "column": 15, + "message": "Member \"defn\" has type \"ClassDef\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 43, + "target": "mypy.fixup.NodeFixer.visit_type_info" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"func\" has type \"FuncDef\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 74, + "target": "mypy.fixup.NodeFixer.visit_decorator" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"var\" has type \"Var\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 2, + "target": "mypy.fixup.NodeFixer.visit_decorator" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 60, + "target": "mypy.fixup.TypeFixer.visit_any" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 4, + "target": "mypy.fixup.TypeFixer.visit_callable_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 20, + "target": "mypy.fixup.TypeFixer.visit_erased_type" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.fixup.TypeFixer.visit_erased_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.fixup.TypeFixer.visit_deleted_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.fixup.TypeFixer.visit_none_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.fixup.TypeFixer.visit_uninhabited_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.fixup.TypeFixer.visit_partial_type" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fixup.TypeFixer.visit_partial_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 57, + "target": "mypy.fixup.TypeFixer.visit_void" + } + ], + "mypy/fscache.py": [ + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 300, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.fscache.copy_os_error" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.fscache.copy_os_error" + } + ], + "mypy/join.py": [ + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 312, + "target": "mypy.join.TypeJoinVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.join.TypeJoinVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[TypedDictType], type[LiteralType])\")", + "offset": 273, + "target": "mypy.join.object_or_any_from_type" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.join.object_or_any_from_type" + } + ], + "mypy/literals.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 86, + "target": "mypy.literals" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 46, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"tuple[Any, ...]\"", + "offset": 1, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_comparison_expr" + }, + { + "code": "no-any-explicit", + "column": 12, + "message": "Explicit \"Any\" is not allowed", + "offset": 7, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"Generator[Any, None, None]\")", + "offset": 0, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"tuple[Any, ...] | None\"", + "offset": 1, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.seq_expr" + }, + { + "code": "no-any-explicit", + "column": 12, + "message": "Explicit \"Any\" is not allowed", + "offset": 8, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"Generator[Any, None, None]\")", + "offset": 0, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"tuple[Any, ...] | None\"", + "offset": 3, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_dict_expr" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.literals._Hasher.visit_dict_expr" + } + ], + "mypy/main.py": [ + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 308, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Any | str | None\")", + "offset": 0, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | str | None\")", + "offset": 2, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.infer_python_executable" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 49, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.main.CapturableArgumentParser.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.main.CapturableArgumentParser.print_usage" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"IO[str] | Any\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser.print_usage" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.main.CapturableArgumentParser.print_help" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"IO[str] | Any\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser.print_help" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.main.CapturableArgumentParser._print_message" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"IO[str] | Any\")", + "offset": 1, + "target": "mypy.main.CapturableArgumentParser._print_message" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.main.CapturableArgumentParser.exit" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.main.CapturableArgumentParser.error" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 33, + "target": "mypy.main.CapturableVersionAction.__call__" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 189, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 122, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 83, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 165, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 28, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 9, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 5, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 14, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 27, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 3, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 8, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 17, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 10, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.main.process_options" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 48, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.main.process_cache_map" + } + ], + "mypy/meet.py": [ + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 323, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 18, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 2, + "target": "mypy.meet.is_overlapping_types" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 209, + "target": "mypy.meet.TypeMeetVisitor.visit_parameters" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 62, + "target": "mypy.meet.TypeMeetVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.meet.TypeMeetVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 103, + "target": "mypy.meet.TypeMeetVisitor.visit_type_type" + } + ], + "mypy/memprofile.py": [ + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 25, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 3, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc, no-any-expr]\" instead)", + "offset": 1, + "target": null + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"dict_values[str, Any]\")", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 5, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 2, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.collect_memory_stats" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 18, + "target": "mypy.memprofile.print_memory_profile" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.print_memory_profile" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.print_memory_profile" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 36, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | ()\")", + "offset": 0, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.find_recursive_objects" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.memprofile.find_recursive_objects" + } + ], + "mypy/messages.py": [ + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 262, + "target": "mypy.messages.MessageBuilder.has_no_attr" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.has_no_attr" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 85, + "target": "mypy.messages.MessageBuilder.unsupported_operand_types" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.messages.MessageBuilder.unsupported_operand_types" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.messages.MessageBuilder.unsupported_operand_types" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.messages.MessageBuilder.unsupported_operand_types" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.messages.MessageBuilder.unsupported_operand_types" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 255, + "target": "mypy.messages.MessageBuilder.incompatible_argument_note" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.incompatible_argument_note" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 15, + "target": "mypy.messages.MessageBuilder.maybe_note_concatenate_pos_args" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_concatenate_pos_args" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.messages.MessageBuilder.maybe_note_concatenate_pos_args" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_concatenate_pos_args" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 75, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None | bool\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.messages.MessageBuilder.maybe_note_about_special_args" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 162, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 1, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.signature_incompatible_with_supertype" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 19, + "target": "mypy.messages.MessageBuilder.pretty_callable_or_overload" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 306, + "target": "mypy.messages.MessageBuilder.reveal_locals" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.reveal_locals" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.messages.MessageBuilder.reveal_locals" + }, + { + "code": "unreachable", + "column": 16, + "message": "Statement is unreachable", + "offset": 287, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "unreachable", + "column": 16, + "message": "Statement is unreachable", + "offset": 4, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 27, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 1, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 8, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 6, + "target": "mypy.messages.MessageBuilder.report_protocol_problems" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 51, + "target": "mypy.messages.MessageBuilder.print_more" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Sequence[Any]\")", + "offset": 7, + "target": "mypy.messages.MessageBuilder.print_more" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Sequence[Any]\")", + "offset": 1, + "target": "mypy.messages.MessageBuilder.print_more" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 272, + "target": "mypy.messages.format_type_inner" + }, + { + "code": "redundant-expr", + "column": 12, + "message": "Left operand of \"and\" is always true", + "offset": 179, + "target": "mypy.messages.pretty_callable" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 10, + "target": "mypy.messages.pretty_callable" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.messages.pretty_callable" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.messages.pretty_callable" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.messages.pretty_callable" + }, + { + "code": "redundant-expr", + "column": 7, + "message": "Left operand of \"and\" is always true", + "offset": 159, + "target": "mypy.messages.find_defining_module" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (float, Any)\")", + "offset": 20, + "target": "mypy.messages.best_matches" + } + ], + "mypy/metastore.py": [ + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 177, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 6, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.metastore.SqliteMetadataStore._query" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"float\"", + "offset": 3, + "target": "mypy.metastore.SqliteMetadataStore.getmtime" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.metastore.SqliteMetadataStore.getmtime" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"str\"", + "offset": 3, + "target": "mypy.metastore.SqliteMetadataStore.read" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.metastore.SqliteMetadataStore.read" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 28, + "target": "mypy.metastore.SqliteMetadataStore.list_all" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.metastore.SqliteMetadataStore.list_all" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.metastore.SqliteMetadataStore.list_all" + } + ], + "mypy/modulefinder.py": [ + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 573, + "target": "mypy.modulefinder.FindModuleCache._is_compatible_stub_package" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.modulefinder.FindModuleCache._is_compatible_stub_package" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | object\")", + "offset": 0, + "target": "mypy.modulefinder.FindModuleCache._is_compatible_stub_package" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.modulefinder.FindModuleCache._is_compatible_stub_package" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | object\")", + "offset": 0, + "target": "mypy.modulefinder.FindModuleCache._is_compatible_stub_package" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"((...) -> _T) -> _lru_cache_wrapper[_T]\")", + "offset": 148, + "target": "mypy.modulefinder" + } + ], + "mypy/moduleinspect.py": [ + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 32, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 4, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.moduleinspect.is_c_module" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 13, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 4, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 22, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.moduleinspect.get_package_properties" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.moduleinspect.get_package_properties" + } + ], + "mypy/nodes.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 76, + "target": "mypy.nodes" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 118, + "target": "mypy.nodes.Node.__str__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 162, + "target": "mypy.nodes.MypyFile.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 6, + "target": "mypy.nodes.MypyFile.serialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.nodes.MypyFile.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.nodes.MypyFile.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 223, + "target": "mypy.nodes.OverloadedFuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.nodes.OverloadedFuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.nodes.OverloadedFuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.nodes.OverloadedFuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.nodes.OverloadedFuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.nodes.OverloadedFuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 116, + "target": "mypy.nodes.FuncItem.is_dynamic" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.nodes.FuncItem.is_dynamic" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.nodes.FuncItem.is_dynamic" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.nodes.FuncItem.is_dynamic" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 50, + "target": "mypy.nodes.FuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 4, + "target": "mypy.nodes.FuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.nodes.FuncDef.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.FuncDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 62, + "target": "mypy.nodes.Decorator.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.nodes.Decorator.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 123, + "target": "mypy.nodes.Var.deserialize" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[assignment]\" instead)", + "offset": 42, + "target": null + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 21, + "target": "mypy.nodes.ClassDef.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypy.nodes.ClassDef.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.nodes.ClassDef.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.nodes.ClassDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.nodes.ClassDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 85, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.ClassDef.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1253, + "target": "mypy.nodes.TypeVarExpr.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypy.nodes.TypeVarExpr.serialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.nodes.TypeVarExpr.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.nodes.TypeVarExpr.deserialize" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.nodes.TypeVarExpr.deserialize" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.TypeVarExpr.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 12, + "target": "mypy.nodes.ParamSpecExpr.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.nodes.ParamSpecExpr.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 18, + "target": "mypy.nodes.TypeVarTupleExpr.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.nodes.TypeVarTupleExpr.deserialize" + }, + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 444, + "target": "mypy.nodes.TypeInfo.get_method" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 128, + "target": "mypy.nodes.TypeInfo.deserialize" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.TypeInfo.deserialize" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.nodes.TypeInfo.deserialize" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.TypeInfo.deserialize" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"None\"", + "offset": 57, + "target": "mypy.nodes.FakeInfo.__getattribute__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes.FakeInfo.__getattribute__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.nodes.FakeInfo.__getattribute__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 145, + "target": "mypy.nodes.TypeAlias.deserialize" + }, + { + "code": "redundant-expr", + "column": 20, + "message": "Left operand of \"and\" is always true", + "offset": 233, + "target": "mypy.nodes.SymbolTableNode.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 14, + "target": "mypy.nodes.SymbolTableNode.deserialize" + }, + { + "code": "unreachable", + "column": 16, + "message": "Statement is unreachable", + "offset": 39, + "target": "mypy.nodes.SymbolTable.__str__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 24, + "target": "mypy.nodes.SymbolTable.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.nodes.get_flags" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 24, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 1, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.nodes" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.nodes" + } + ], + "mypy/options.py": [ + { + "code": "attr-defined", + "column": 4, + "message": "Module \"mypy.errors\" does not explicitly export attribute \"ErrorCode\"; implicit reexport disabled", + "offset": 13, + "target": "mypy.options" + }, + { + "code": "no-any-unimported", + "column": 8, + "message": "Type of variable becomes \"set[Any (from unimported type)]\" due to an unfollowed import", + "offset": 218, + "target": "mypy.options.Options.__init__" + }, + { + "code": "no-any-unimported", + "column": 8, + "message": "Type of variable becomes \"set[Any (from unimported type)]\" due to an unfollowed import", + "offset": 4, + "target": "mypy.options.Options.__init__" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 94, + "target": "mypy.options.Options.__init__" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"Any | ()\")", + "offset": 30, + "target": "mypy.options.Options.snapshot" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.options.Options.snapshot" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.options.Options.snapshot" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"get\" returns \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 12, + "target": "mypy.options.Options.apply_changes" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 108, + "target": "mypy.options.Options.select_options_affecting_cache" + } + ], + "mypy/parse.py": [ + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"(Any) -> Any | None\")", + "offset": 21, + "target": "mypy.parse.parse" + } + ], + "mypy/plugin.py": [ + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 355, + "target": "mypy.plugin.SemanticAnalyzerPluginInterface.add_symbol_table_node" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(SemanticAnalyzerPluginInterface, str, SymbolTableNode) -> Any\")", + "offset": 0, + "target": "mypy.plugin" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 153, + "target": "mypy.plugin.Plugin.report_config_data" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 292, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any] | None\")", + "offset": 0, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.plugin.ChainedPlugin.report_config_data" + } + ], + "mypy/plugins/attrs.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 130, + "target": "mypy.plugins.attrs.Attribute.serialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 104, + "target": "mypy.plugins.attrs.attr_tag_callback" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 72, + "target": "mypy.plugins.attrs.attr_class_maker_callback" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.plugins.attrs.attr_class_maker_callback" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.plugins.attrs.attr_class_maker_callback" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 72, + "target": "mypy.plugins.attrs._analyze_class" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.plugins.attrs._analyze_class" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.plugins.attrs._analyze_class" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.plugins.attrs._analyze_class" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 33, + "target": "mypy.plugins.attrs._add_empty_metadata" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.plugins.attrs._add_empty_metadata" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.plugins.attrs._add_empty_metadata" + }, + { + "code": "truthy-bool", + "column": 16, + "message": "Expression has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 186, + "target": "mypy.plugins.attrs._parse_converter" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 38, + "target": "mypy.plugins.attrs._parse_converter" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.plugins.attrs._parse_converter" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 102, + "target": "mypy.plugins.attrs._add_init" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.plugins.attrs._add_init" + } + ], + "mypy/plugins/common.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.semanal\" does not explicitly export attribute \"set_callable_name\"; implicit reexport disabled", + "offset": 8, + "target": "mypy.plugins.common" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 58, + "target": "mypy.plugins.common._get_argument" + } + ], + "mypy/plugins/dataclasses.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 81, + "target": "mypy.plugins.dataclasses.DataclassAttribute.serialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 162, + "target": "mypy.plugins.dataclasses.DataclassTransformer.transform" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.plugins.dataclasses.DataclassTransformer.transform" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.plugins.dataclasses.DataclassTransformer.transform" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 184, + "target": "mypy.plugins.dataclasses.DataclassTransformer.collect_attributes" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.plugins.dataclasses.DataclassTransformer.collect_attributes" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.plugins.dataclasses.DataclassTransformer.collect_attributes" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 19, + "target": "mypy.plugins.dataclasses.DataclassTransformer.collect_attributes" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.plugins.dataclasses.DataclassTransformer.collect_attributes" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 63, + "target": "mypy.plugins.dataclasses.DataclassTransformer._propertize_callables" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 42, + "target": "mypy.plugins.dataclasses.dataclass_tag_callback" + } + ], + "mypy/plugins/default.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.plugins.common\" does not explicitly export attribute \"try_getting_str_literals\"; implicit reexport disabled", + "offset": 9, + "target": "mypy.plugins.default" + }, + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.checkexpr\" does not explicitly export attribute \"is_literal_type_like\"; implicit reexport disabled", + "offset": 7, + "target": "mypy.plugins.default" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 136, + "target": "mypy.plugins.default.contextmanager_callback" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.plugins.default.contextmanager_callback" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.plugins.default.contextmanager_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 53, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 4, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_get_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 59, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 5, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 4, + "target": "mypy.plugins.default.typed_dict_pop_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 38, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 7, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.plugins.default.typed_dict_setdefault_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 23, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 4, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.plugins.default.typed_dict_delitem_callback" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 48, + "target": "mypy.plugins.default.int_neg_callback" + }, + { + "code": "unreachable", + "column": 20, + "message": "Subclass of \"TupleType\" and \"LiteralType\" cannot exist: would have incompatible method signatures", + "offset": 30, + "target": "mypy.plugins.default.tuple_mul_callback" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 1, + "target": "mypy.plugins.default.tuple_mul_callback" + } + ], + "mypy/plugins/enums.py": [ + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 97, + "target": "mypy.plugins.enums._infer_value_type_with_auto_fallback" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 74, + "target": "mypy.plugins.enums.enum_value_callback" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.plugins.enums.enum_value_callback" + } + ], + "mypy/plugins/functools.py": [ + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (bool, Any)\")", + "offset": 43, + "target": "mypy.plugins.functools.functools_total_ordering_maker_callback" + }, + { + "code": "unreachable", + "column": 50, + "message": "Right operand of \"and\" is never evaluated", + "offset": 55, + "target": "mypy.plugins.functools._analyze_class" + }, + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 1, + "target": "mypy.plugins.functools._analyze_class" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.plugins.functools._analyze_class" + } + ], + "mypy/plugins/singledispatch.py": [ + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[arg-type]\" instead)", + "offset": 35, + "target": null + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 57, + "target": "mypy.plugins.singledispatch.create_singledispatch_function_callback" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 32, + "target": "mypy.plugins.singledispatch.singledispatch_register_callback" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"(type[CallableType], type[Overloaded])\")", + "offset": 0, + "target": "mypy.plugins.singledispatch.singledispatch_register_callback" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.plugins.singledispatch.singledispatch_register_callback" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.plugins.singledispatch.singledispatch_register_callback" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 16, + "target": "mypy.plugins.singledispatch.singledispatch_register_callback" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 18, + "target": "mypy.plugins.singledispatch.register_function" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[arg-type]\" instead)", + "offset": 36, + "target": null + } + ], + "mypy/pyinfo.py": [ + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 33, + "target": "mypy.pyinfo.getsearchdirs" + } + ], + "mypy/report.py": [ + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 28, + "target": null + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 237, + "target": "mypy.report.AnyExpressionsReporter._report_any_exprs" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.AnyExpressionsReporter._report_any_exprs" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 15, + "target": "mypy.report.AnyExpressionsReporter._report_types_of_anys" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.AnyExpressionsReporter._report_types_of_anys" + }, + { + "code": "redundant-expr", + "column": 17, + "message": "Left operand of \"and\" is always true", + "offset": 78, + "target": "mypy.report.LineCoverageVisitor.visit_func_def" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 56, + "target": "mypy.report.LineCoverageReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 32, + "target": "mypy.report.MemoryXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.__init__" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.report.MemoryXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 30, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 6, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 7, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.MemoryXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 19, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 6, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.MemoryXmlReporter.on_finish" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 18, + "target": "mypy.report.CoberturaPackage.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 5, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.as_xml" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"attrgetter[Any]\")", + "offset": 1, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"attrgetter[Any]\")", + "offset": 0, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"attrgetter[Any]\")", + "offset": 0, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.CoberturaPackage.add_packages" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 9, + "target": "mypy.report.CoberturaXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.report.CoberturaXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 18, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 4, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 18, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 6, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 16, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.CoberturaXmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 33, + "target": "mypy.report.XmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.report.XmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.report.XmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.report.XmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.report.XmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.report.XmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 19, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 7, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 7, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_file" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 5, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltHtmlReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 19, + "target": "mypy.report.XsltTxtReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 10, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.XsltTxtReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 63, + "target": "mypy.report.LinePrecisionReporter.on_finish" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.report.LinePrecisionReporter.on_finish" + } + ], + "mypy/sametypes.py": [ + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 138, + "target": "mypy.sametypes.SameTypeVisitor.visit_callable_type" + } + ], + "mypy/scope.py": [ + { + "code": "truthy-bool", + "column": 19, + "message": "Member \"function\" has type \"FuncBase\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 78, + "target": "mypy.scope.Scope.function_scope" + } + ], + "mypy/semanal.py": [ + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 646, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 13, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 19, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 15, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 6, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.analyze_func_def" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 24, + "target": "mypy.semanal.SemanticAnalyzer.prepare_method_signature" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 74, + "target": "mypy.semanal.SemanticAnalyzer.analyze_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 57, + "target": "mypy.semanal.SemanticAnalyzer.analyze_overload_sigs_and_impl" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 148, + "target": "mypy.semanal.SemanticAnalyzer.analyze_property_with_multi_part_definition" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 5, + "target": "mypy.semanal.SemanticAnalyzer.analyze_property_with_multi_part_definition" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 14, + "target": "mypy.semanal.SemanticAnalyzer.analyze_property_with_multi_part_definition" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 67, + "target": "mypy.semanal.SemanticAnalyzer.check_classvar_in_signature" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.semanal.SemanticAnalyzer.check_function_signature" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 332, + "target": "mypy.semanal.SemanticAnalyzer.clean_up_bases_and_infer_type_variables" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 603, + "target": "mypy.semanal.SemanticAnalyzer.report_missing_module_attribute" + }, + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 66, + "target": "mypy.semanal.SemanticAnalyzer.visit_import_all" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"rvalue\" has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 329, + "target": "mypy.semanal.SemanticAnalyzer.analyze_lvalues" + }, + { + "code": "truthy-bool", + "column": 15, + "message": "\"call\" has type \"CallExpr\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 939, + "target": "mypy.semanal.SemanticAnalyzer.extract_typevarlike_name" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"zip[tuple[Any, ...]]\")", + "offset": 211, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 1, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"zip[tuple[Any, ...]]\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.process_module_assignment" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"expr\" has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 150, + "target": "mypy.semanal.SemanticAnalyzer.visit_assert_stmt" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"expr\" has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 269, + "target": "mypy.semanal.SemanticAnalyzer.visit_yield_from_expr" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 58, + "target": "mypy.semanal.SemanticAnalyzer.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 123, + "target": "mypy.semanal.SemanticAnalyzer.visit_member_expr" + }, + { + "code": "truthy-bool", + "column": 27, + "message": "\"n\" has type \"SymbolTableNode\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 12, + "target": "mypy.semanal.SemanticAnalyzer.visit_member_expr" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 577, + "target": "mypy.semanal.SemanticAnalyzer.create_getattr_var" + }, + { + "code": "truthy-bool", + "column": 15, + "message": "\"sym\" has type \"SymbolTableNode\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 46, + "target": "mypy.semanal.SemanticAnalyzer.named_type" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 15, + "target": null + }, + { + "code": "no-any-explicit", + "column": 12, + "message": "Explicit \"Any\" is not allowed", + "offset": 201, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 7, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Literal[True] | Any\")", + "offset": 2, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.SemanticAnalyzer._get_node_for_class_scoped_import" + }, + { + "code": "redundant-expr", + "column": 16, + "message": "Left operand of \"and\" is always true", + "offset": 355, + "target": "mypy.semanal.SemanticAnalyzer.in_checked_function" + }, + { + "code": "truthy-bool", + "column": 15, + "message": "\"aliases_used\" has type \"Iterable[str]\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 174, + "target": "mypy.semanal.SemanticAnalyzer.add_type_alias_deps" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 48, + "target": "mypy.semanal.replace_implicit_first_type" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 77, + "target": "mypy.semanal.apply_semantic_analyzer_patches" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal.apply_semantic_analyzer_patches" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 70, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 29, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 2, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal.infer_fdef_types_from_defaults" + } + ], + "mypy/semanal_infer.py": [ + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 35, + "target": "mypy.semanal_infer.infer_decorator_signature_if_simple" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 34, + "target": "mypy.semanal_infer.is_identity_signature" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal_infer.is_identity_signature" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 20, + "target": "mypy.semanal_infer.calculate_return_type" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 21, + "target": "mypy.semanal_infer.find_fixed_callable_return" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.semanal_infer.find_fixed_callable_return" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 2, + "target": "mypy.semanal_infer.find_fixed_callable_return" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 6, + "target": "mypy.semanal_infer.find_fixed_callable_return" + } + ], + "mypy/semanal_main.py": [ + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (Any, Any)\")", + "offset": 234, + "target": "mypy.semanal_main.process_functions" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypy.semanal_main.process_functions" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal_main.process_functions" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal_main.process_functions" + }, + { + "code": "no-any-expr", + "column": 79, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.semanal_main.process_functions" + } + ], + "mypy/semanal_namedtuple.py": [ + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 418, + "target": "mypy.semanal_namedtuple.NamedTupleAnalyzer.build_namedtuple_typeinfo" + } + ], + "mypy/server/astdiff.py": [ + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 178, + "target": "mypy.server.astdiff.snapshot_definition" + } + ], + "mypy/server/astmerge.py": [ + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 241, + "target": "mypy.server.astmerge.NodeReplaceVisitor.visit_call_expr" + } + ], + "mypy/server/aststrip.py": [ + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 140, + "target": "mypy.server.aststrip.NodeStripVisitor.visit_func_def" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.server.aststrip.NodeStripVisitor.visit_func_def" + } + ], + "mypy/server/deps.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.checkmember\" does not explicitly export attribute \"bind_self\"; implicit reexport disabled", + "offset": 85, + "target": "mypy.server.deps" + }, + { + "code": "unreachable", + "column": 24, + "message": "Statement is unreachable", + "offset": 337, + "target": "mypy.server.deps.DependencyVisitor.visit_assignment_stmt" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"upper_bound\" has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 534, + "target": "mypy.server.deps.TypeTriggersVisitor.visit_type_var" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 84, + "target": "mypy.server.deps.dump_all_dependencies" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.deps.dump_all_dependencies" + } + ], + "mypy/server/mergecheck.py": [ + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 31, + "target": "mypy.server.mergecheck.check_consistency" + } + ], + "mypy/server/objgraph.py": [ + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"(type[BuiltinFunctionType], type[FunctionType], type[MethodType], type[(object) -> Iterable[str]], type[(object, object) -> bool], type[(object) -> bool])\")", + "offset": 14, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"type[FunctionType]\")", + "offset": 2, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"type[MethodType]\")", + "offset": 1, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"set[type[ReferenceType[Any]]]\")", + "offset": 32, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"type[ReferenceType[Any]]\")", + "offset": 1, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"type[ReferenceType[Any]]\")", + "offset": 0, + "target": "mypy.server.objgraph" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 5, + "target": "mypy.server.objgraph.isproperty" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression type contains \"Any\" (has type \"type[property]\")", + "offset": 0, + "target": "mypy.server.objgraph.isproperty" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 1, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 6, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"enumerate[Any]\")", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 1, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.objgraph.get_edge_candidates" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"(type[BuiltinFunctionType], type[FunctionType], type[MethodType], type[(object) -> Iterable[str]], type[(object, object) -> bool], type[(object) -> bool])\")", + "offset": 5, + "target": "mypy.server.objgraph.get_edges" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[union-attr]\" instead)", + "offset": 5, + "target": null + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[union-attr]\" instead)", + "offset": 2, + "target": null + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[attr-defined]\" instead)", + "offset": 2, + "target": null + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"set[type[ReferenceType[Any]]]\")", + "offset": 2, + "target": "mypy.server.objgraph.get_edges" + } + ], + "mypy/server/update.py": [ + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 233, + "target": "mypy.server.update.FineGrainedBuildManager.update" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 595, + "target": "mypy.server.update.propagate_changes_using_dependencies" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.server.update.propagate_changes_using_dependencies" + } + ], + "mypy/split_namespace.py": [ + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 17, + "target": "mypy.split_namespace.SplitNamespace.__init__" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__init__" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.split_namespace.SplitNamespace._get" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace._get" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace._get" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace._get" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 71, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__setattr__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.split_namespace.SplitNamespace.__getattr__" + } + ], + "mypy/stats.py": [ + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"expr\" has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 214, + "target": "mypy.stats.StatisticsVisitor.visit_yield_from_expr" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 19, + "target": "mypy.stats.StatisticsVisitor.record_call_target_precision" + } + ], + "mypy/strconv.py": [ + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 78, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.func_helper" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 6, + "target": "mypy.strconv.StrConv.visit_mypy_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_mypy_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 7, + "target": "mypy.strconv.StrConv.visit_mypy_file" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_mypy_file" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_mypy_file" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 42, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_overloaded_func_def" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 53, + "target": "mypy.strconv.StrConv.visit_assignment_stmt" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 5, + "target": "mypy.strconv.StrConv.visit_assignment_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_assignment_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_assignment_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 6, + "target": "mypy.strconv.StrConv.visit_while_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_while_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_while_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_while_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_while_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_for_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 6, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_if_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 27, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_try_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_with_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_print_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_print_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_print_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_print_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 6, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_match_stmt" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 19, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 2, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.str_repr" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"expr\" has type \"Expression\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 55, + "target": "mypy.strconv.StrConv.visit_yield_from_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 9, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"list[str | (str, list[Any])]\")", + "offset": 5, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[str | (str, list[Any])]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[str | (str, list[Any])]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[str | (str, list[Any])]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[str | (str, list[Any])]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_call_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 53, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_type_var_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 5, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_paramspec_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 5, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_type_var_tuple_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 42, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_slice_expr" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 27, + "target": "mypy.strconv.StrConv.visit_mapping_pattern" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_mapping_pattern" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_mapping_pattern" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_mapping_pattern" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.strconv.StrConv.visit_mapping_pattern" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.strconv.StrConv.visit_class_pattern" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_class_pattern" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_class_pattern" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.strconv.StrConv.visit_class_pattern" + } + ], + "mypy/stubdoc.py": [ + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 48, + "target": "mypy.stubdoc.ArgSig.__eq__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubdoc.ArgSig.__eq__" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 156, + "target": "mypy.stubdoc.DocStringParser.get_signatures" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypy.stubdoc.DocStringParser.get_signatures" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 72, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"(str | Any, list[str], list[str])\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 4, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(str | Any, list[str | Any], list[str | Any])\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubdoc.parse_signature" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 35, + "target": "mypy.stubdoc.parse_all_signatures" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.stubdoc.parse_all_signatures" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 34, + "target": "mypy.stubdoc.infer_prop_type_from_docstring" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.stubdoc.infer_prop_type_from_docstring" + } + ], + "mypy/stubgen.py": [ + { + "code": "redundant-expr", + "column": 17, + "message": "Left operand of \"and\" is always true", + "offset": 616, + "target": "mypy.stubgen.StubGenerator.visit_overloaded_func_def" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 36, + "target": "mypy.stubgen.StubGenerator.visit_func_def" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 33, + "target": "mypy.stubgen.StubGenerator.visit_func_def" + }, + { + "code": "redundant-expr", + "column": 13, + "message": "Left operand of \"and\" is always true", + "offset": 7, + "target": "mypy.stubgen.StubGenerator.visit_func_def" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 239, + "target": null + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 755, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 3, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgen.parse_options" + } + ], + "mypy/stubgenc.py": [ + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 57, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"((str, Any)) -> str\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"((str, Any)) -> str\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 3, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 4, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 1, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_stub_for_c_module" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 50, + "target": "mypy.stubgenc.is_c_property_readonly" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.is_c_property_readonly" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.is_c_property_readonly" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.is_c_property_readonly" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.is_c_property_readonly" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 49, + "target": "mypy.stubgenc.generate_c_function_stub" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.stubgenc.generate_c_function_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.stubgenc.generate_c_function_stub" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_c_function_stub" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 61, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "\"module\" has type Module which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 1, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "truthy-bool", + "column": 9, + "message": "\"module\" has type Module which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 6, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "truthy-bool", + "column": 9, + "message": "\"module\" has type Module which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.stubgenc.strip_or_import" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 44, + "target": "mypy.stubgenc.generate_c_property_stub" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.stubgenc.generate_c_property_stub" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.stubgenc.generate_c_property_stub" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_property_stub" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 34, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 1, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"ItemsView[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"ItemsView[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"ItemsView[str, Any]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (int, str)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"((str, Any)) -> (int, str)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"((str, Any)) -> (int, str)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 7, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"Mapping[str, Any]\")", + "offset": 5, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 4, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[(str, Any)]\")", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 5, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 1, + "target": "mypy.stubgenc.generate_c_type_stub" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | object\")", + "offset": 45, + "target": "mypy.stubgenc.get_type_fullname" + } + ], + "mypy/stubtest.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 54, + "target": "mypy.stubtest._style" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.stubtest._style" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.stubtest._style" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.stubtest._style" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 14, + "target": "mypy.stubtest.Error.__init__" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 24, + "target": "mypy.stubtest.Error.__init__" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"Any | Node | Missing\")", + "offset": 1, + "target": "mypy.stubtest.Error.__init__" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 1, + "target": "mypy.stubtest.Error.__init__" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 30, + "target": "mypy.stubtest.Error.get_description" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 4, + "target": "mypy.stubtest.Error.get_description" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.Error.get_description" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.stubtest.Error.get_description" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (unannotated)\"", + "offset": 70, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.test_module" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"((...) -> _T) -> _SingleDispatchCallable[_T]\")", + "offset": 17, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(Node | Missing, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(Node | Missing, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 11, + "target": "mypy.stubtest.verify" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 3, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[MypyFile, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 8, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 11, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"bool\"", + "offset": 1, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"bool\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 2, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 10, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 5, + "target": "mypy.stubtest.verify_mypyfile" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 9, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[TypeInfo, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(TypeInfo, type[Any] | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(TypeInfo, type[Any] | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"type[Any] | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"type[Any] | Missing\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 3, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 1, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "unreachable", + "column": 8, + "message": "Statement is unreachable", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc, valid-type]\" instead)", + "offset": 4, + "target": null + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 4, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 5, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 11, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-explicit", + "column": 17, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-explicit", + "column": 17, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 18, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 11, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 0, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_typeinfo" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 79, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[classmethod[Any]]\")", + "offset": 18, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[classmethod[Any]]\")", + "offset": 0, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[classmethod[Any]]\")", + "offset": 2, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[classmethod[Any]]\")", + "offset": 0, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[staticmethod[Any]]\")", + "offset": 2, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[staticmethod[Any]]\")", + "offset": 0, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[staticmethod[Any]]\")", + "offset": 2, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[staticmethod[Any]]\")", + "offset": 0, + "target": "mypy.stubtest._verify_static_class_methods" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 24, + "target": "mypy.stubtest._verify_arg_name" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest._verify_arg_name" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 18, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 12, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest._verify_arg_default_value" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 35, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-return", + "column": 16, + "message": "Returning Any from function declared to return \"bool\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (bool, str)\")", + "offset": 3, + "target": "mypy.stubtest.Signature.__str__" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 33, + "target": "mypy.stubtest.Signature.from_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 1, + "target": "mypy.stubtest.Signature.from_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 3, + "target": "mypy.stubtest.Signature.from_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 2, + "target": "mypy.stubtest.Signature.from_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 2, + "target": "mypy.stubtest.Signature.from_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 94, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 12, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 46, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 23, + "target": "mypy.stubtest._verify_signature" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 6, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[FuncItem, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(FuncItem, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(FuncItem, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 18, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 13, + "target": "mypy.stubtest.verify_funcitem" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 5, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[Missing, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(Missing, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_none" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(Missing, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_none" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 3, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[Var, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(Var, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(Var, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"Enum | Any\")", + "offset": 9, + "target": "mypy.stubtest.verify_var" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 4, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[OverloadedFuncDef, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(OverloadedFuncDef, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(OverloadedFuncDef, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 18, + "target": "mypy.stubtest.verify_overloadedfuncdef" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 6, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[TypeVarExpr, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(TypeVarExpr, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_typevarexpr" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(TypeVarExpr, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_typevarexpr" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.stubtest.verify_typevarexpr" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[TypeVar]\")", + "offset": 0, + "target": "mypy.stubtest.verify_typevarexpr" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_typevarexpr" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 4, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[ParamSpecExpr, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(ParamSpecExpr, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(ParamSpecExpr, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"(Any | None, Any | None)\")", + "offset": 3, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 1, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 2, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(Any | None, Any | None)\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"(Any | None, Any | None)\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 1, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_paramspecexpr" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 4, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[property]\")", + "offset": 0, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 2, + "target": "mypy.stubtest._verify_readonly_property" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 59, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[Decorator, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(Decorator, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_decorator" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(Decorator, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 3, + "target": "mypy.stubtest.verify_decorator" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.stubtest.verify_decorator" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_decorator" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.stubtest.verify_decorator" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]\")", + "offset": 3, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"_SingleDispatchRegisterCallable[TypeAlias, _SingleDispatchCallable[Iterator[Error], (Node | Missing, Any | Missing, list[str]) -> Iterator[Error]]]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(TypeAlias, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-decorated", + "column": 0, + "message": "Type of decorated function contains type \"Any\" (\"(TypeAlias, Any | Missing, list[str]) -> Iterator[Error]\")", + "offset": 0, + "target": "mypy.stubtest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"Any | Missing\")", + "offset": 4, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 3, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Any | ()\")", + "offset": 4, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.stubtest.verify_typealias" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 77, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"(type[FunctionType], type[BuiltinFunctionType])\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"(type[FunctionType], type[BuiltinFunctionType])\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[FunctionType]\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[FunctionType]\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(type[MethodType], type[BuiltinFunctionType])\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(type[MethodType], type[BuiltinFunctionType])\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[MethodType]\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"type[MethodType]\")", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.is_probably_a_function" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[property]\")", + "offset": 5, + "target": "mypy.stubtest.is_read_only_property" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[property]\")", + "offset": 0, + "target": "mypy.stubtest.is_read_only_property" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"(Any, Any) -> None | None\")", + "offset": 0, + "target": "mypy.stubtest.is_read_only_property" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypy.stubtest.safe_inspect_signature" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.safe_inspect_signature" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 35, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[property]\")", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(type[FunctionType], type[BuiltinFunctionType], type[MethodType], type[BuiltinFunctionType])\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"type[FunctionType]\")", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"type[MethodType]\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 15, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 1, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[Parameter]\")", + "offset": 2, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 19, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 3, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.stubtest.get_mypy_type_of_runtime_value" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 289, + "target": "mypy.stubtest.parse_options" + } + ], + "mypy/stubutil.py": [ + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 101, + "target": "mypy.stubutil.find_module_path_and_all_py2" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.stubutil.find_module_path_and_all_py2" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.stubutil.find_module_path_and_all_py2" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 14, + "target": "mypy.stubutil.find_module_path_using_py2_sys_path" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.stubutil.find_module_path_using_py2_sys_path" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 75, + "target": "mypy.stubutil.report_missing" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.stubutil.report_missing" + } + ], + "mypy/subtypes.py": [ + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 322, + "target": "mypy.subtypes.SubtypeVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 44, + "target": "mypy.subtypes.SubtypeVisitor.visit_parameters" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 10, + "target": "mypy.subtypes.SubtypeVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 114, + "target": "mypy.subtypes.SubtypeVisitor.visit_overloaded" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 96, + "target": "mypy.subtypes.SubtypeVisitor.visit_type_type" + }, + { + "code": "no-any-expr", + "column": 71, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 91, + "target": "mypy.subtypes.is_protocol_implementation" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 68, + "target": "mypy.subtypes.find_member" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 71, + "target": "mypy.subtypes.find_node_type" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(type[Overloaded], type[CallableType])\")", + "offset": 19, + "target": "mypy.subtypes.non_method_protocol_members" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.subtypes.non_method_protocol_members" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 388, + "target": "mypy.subtypes.unify_generic_callable" + }, + { + "code": "no-any-expr", + "column": 83, + "message": "Expression type contains \"Any\" (has type \"(VarArg(Any)) -> None\")", + "offset": 4, + "target": "mypy.subtypes.unify_generic_callable" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 233, + "target": "mypy.subtypes.ProperSubtypeVisitor.visit_instance" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 41, + "target": "mypy.subtypes.ProperSubtypeVisitor.visit_parameters" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 7, + "target": "mypy.subtypes.ProperSubtypeVisitor.visit_callable_type" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 70, + "target": "mypy.subtypes.ProperSubtypeVisitor.visit_type_type" + } + ], + "mypy/suggestions.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.checkexpr\" does not explicitly export attribute \"map_actuals_to_formals\"; implicit reexport disabled", + "offset": 51, + "target": "mypy.suggestions" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 103, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> AnyType\")", + "offset": 2, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any (from unimported type))\")", + "offset": 2, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, Any (from unimported type))\")", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"enumerate[Any (from unimported type)]\")", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.suggestions.ArgUseFinder.visit_call_expr" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 131, + "target": "mypy.suggestions.SuggestionEngine.get_starting_type" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"islice[tuple[Any, ...]]\")", + "offset": 76, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"product[tuple[Any, ...]]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"product[tuple[Any, ...]]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 1, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 86, + "message": "Expression type contains \"Any\" (has type \"islice[tuple[Any, ...]]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (int, int)\")", + "offset": 37, + "target": "mypy.suggestions.SuggestionEngine.find_best" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 13, + "target": "mypy.suggestions.SuggestionEngine.get_guesses_from_parent" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.get_guesses_from_parent" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 183, + "target": "mypy.suggestions.SuggestionEngine.extract_from_decorator" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 68, + "target": "mypy.suggestions.SuggestionEngine.json_suggestion" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 41, + "target": "mypy.suggestions.SuggestionEngine.score_type" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.suggestions.SuggestionEngine.score_type" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 26, + "target": "mypy.suggestions.any_score_type" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.suggestions.any_score_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"partial_fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 75, + "target": "mypy.suggestions.TypeFormatter.visit_tuple_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"partial_fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.suggestions.TypeFormatter.visit_tuple_type" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 134, + "target": "mypy.suggestions.refine_type" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.suggestions.refine_type" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.suggestions.refine_type" + } + ], + "mypy/test/data.py": [ + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 115, + "target": "mypy.test.data.parse_test_case" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.parse_test_case" + }, + { + "code": "no-untyped-usage", + "column": 8, + "message": "Usage of untyped name \"suite\" in typed context", + "offset": 157, + "target": "mypy.test.data.DataDrivenTestCase.runtest" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.data.DataDrivenTestCase.runtest" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Untyped\"", + "offset": 1, + "target": "mypy.test.data.DataDrivenTestCase.runtest" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Untyped\"", + "offset": 2, + "target": "mypy.test.data.DataDrivenTestCase.runtest" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 29, + "target": "mypy.test.data.DataDrivenTestCase.setup" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 35, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.data.DataDrivenTestCase.repr_failure" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 17, + "target": "mypy.test.data.module_from_path" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypy.test.data.module_from_path" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypy.test.data.module_from_path" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 124, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.expand_errors" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"tuple[str | Any, ...]\")", + "offset": 13, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_win_path" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 12, + "target": "mypy.test.data.fix_cobertura_filename" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.fix_cobertura_filename" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 13, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.data.pytest_addoption" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 11, + "target": "mypy.test.data.pytest_pycollect_makeitem" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 6, + "target": "mypy.test.data.pytest_pycollect_makeitem" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Untyped\"", + "offset": 6, + "target": "mypy.test.data.pytest_pycollect_makeitem" + }, + { + "code": null, + "column": 19, + "message": "Error code \"no-any-expr\" not covered by \"type: ignore\" comment", + "offset": 0, + "target": null + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.data.pytest_pycollect_makeitem" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 16, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 9, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 2, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Untyped\"", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": null, + "column": 14, + "message": "Error code \"no-any-expr\" not covered by \"type: ignore\" comment", + "offset": 0, + "target": null + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 4, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 1, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 2, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 3, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.data.split_test_cases" + }, + { + "code": "no-untyped-usage", + "column": 27, + "message": "Usage of untyped name \"obj\" in typed context", + "offset": 8, + "target": "mypy.test.data.DataSuiteCollector.collect" + }, + { + "code": "no-untyped-usage", + "column": 27, + "message": "Usage of untyped name \"obj\" in typed context", + "offset": 0, + "target": "mypy.test.data.DataSuiteCollector.collect" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"DataFileCollector\"", + "offset": 23, + "target": "mypy.test.data.DataFileCollector.from_parent" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.data.DataFileCollector.from_parent" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Untyped\"", + "offset": 5, + "target": "mypy.test.data.DataFileCollector.collect" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Untyped\"", + "offset": 1, + "target": "mypy.test.data.DataFileCollector.collect" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.data.DataFileCollector.collect" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.data.DataFileCollector.collect" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.data.DataFileCollector.collect" + } + ], + "mypy/test/helpers.py": [ + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 127, + "target": "mypy.test.helpers.assert_module_equivalence" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.test.helpers.assert_module_equivalence" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 186, + "target": "mypy.test.helpers.retry_on_error" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 71, + "target": "mypy.test.helpers.parse_options" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 19, + "target": "mypy.test.helpers.parse_options" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypy.test.helpers.parse_options" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Untyped\"", + "offset": 13, + "target": "mypy.test.helpers.parse_options" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 97, + "target": "mypy.test.helpers.normalize_file_output" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 1, + "target": "mypy.test.helpers.normalize_file_output" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.test.helpers.normalize_file_output" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.test.helpers.normalize_file_output" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Any | str\")", + "offset": 0, + "target": "mypy.test.helpers.normalize_file_output" + } + ], + "mypy/test/testapi.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 6, + "target": "mypy.test.testapi" + }, + { + "code": "no-subclass-any", + "column": 15, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 3, + "target": "mypy.test.testapi" + }, + { + "code": "no-any-unimported", + "column": 15, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testapi" + } + ], + "mypy/test/testargs.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 10, + "target": "mypy.test.testargs" + }, + { + "code": "no-subclass-any", + "column": 15, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 5, + "target": "mypy.test.testargs" + }, + { + "code": "no-any-unimported", + "column": 15, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testargs" + } + ], + "mypy/test/testcheck.py": [ + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 26, + "target": null + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 32, + "target": "mypy.test.testcheck.TypeCheckSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 13, + "target": "mypy.test.testcheck.TypeCheckSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Literal[False] | Untyped\")", + "offset": 107, + "target": "mypy.test.testcheck.TypeCheckSuite.run_case_once" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.run_case_once" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 65, + "target": "mypy.test.testcheck.TypeCheckSuite.find_error_message_paths" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.find_error_message_paths" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.find_error_message_paths" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.find_error_message_paths" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"set[str | Any]\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.find_error_message_paths" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 10, + "target": "mypy.test.testcheck.TypeCheckSuite.find_missing_cache_files" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.find_missing_cache_files" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"CacheMeta | None\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.find_missing_cache_files" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 35, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 4, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[(str | Any, str, str)]\")", + "offset": 3, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"(str | Any, str, str)\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"(str | Any, str, str)\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[(str | Any, str, str)]\")", + "offset": 1, + "target": "mypy.test.testcheck.TypeCheckSuite.parse_module" + } + ], + "mypy/test/testcmdline.py": [ + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 22, + "target": null + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 24, + "target": "mypy.test.testcmdline.PythonCmdlineSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.test.testcmdline.PythonCmdlineSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 41, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str] | int | Any\")", + "offset": 18, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, int | Any, str)\")", + "offset": 3, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 1, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 6, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 1, + "target": "mypy.test.testcmdline.test_python_cmdline" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 24, + "target": "mypy.test.testcmdline.parse_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.testcmdline.parse_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 15, + "target": "mypy.test.testcmdline.parse_cwd" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.test.testcmdline.parse_cwd" + } + ], + "mypy/test/testdaemon.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 98, + "target": "mypy.test.testdaemon.run_cmd" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testdaemon.run_cmd" + } + ], + "mypy/test/testfinegrained.py": [ + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 73, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 88, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.run_check" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 28, + "target": "mypy.test.testfinegrained.FineGrainedSuite.get_build_steps" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 93, + "target": "mypy.test.testfinegrained.FineGrainedSuite.parse_sources" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.parse_sources" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.parse_sources" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.parse_sources" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.parse_sources" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 19, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-explicit", + "column": 18, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression type contains \"Any\" (has type \"str | Any | None\")", + "offset": 3, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testfinegrained.FineGrainedSuite.maybe_suggest" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 7, + "target": "mypy.test.testfinegrained.FineGrainedSuite.get_suggest" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 1, + "target": "mypy.test.testfinegrained.FineGrainedSuite.get_suggest" + } + ], + "mypy/test/testgraph.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 6, + "target": "mypy.test.testgraph" + }, + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.build\" does not explicitly export attribute \"BuildSourceSet\"; implicit reexport disabled", + "offset": 1, + "target": "mypy.test.testgraph" + }, + { + "code": "no-subclass-any", + "column": 17, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 11, + "target": "mypy.test.testgraph" + }, + { + "code": "no-any-unimported", + "column": 17, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testgraph" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 29, + "target": "mypy.test.testgraph.GraphSuite._make_manager" + } + ], + "mypy/test/testinfer.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 5, + "target": "mypy.test.testinfer" + }, + { + "code": "no-subclass-any", + "column": 31, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 9, + "target": "mypy.test.testinfer" + }, + { + "code": "no-any-unimported", + "column": 31, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testinfer" + }, + { + "code": "no-subclass-any", + "column": 31, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 216, + "target": "mypy.test.testinfer" + }, + { + "code": "no-any-unimported", + "column": 31, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testinfer" + }, + { + "code": "no-subclass-any", + "column": 37, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 57, + "target": "mypy.test.testinfer" + }, + { + "code": "no-any-unimported", + "column": 37, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testinfer" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[int, tuple[Any, ...]]\")", + "offset": 22, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[dict[int, tuple[Any, ...]]]\")", + "offset": 0, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"dict[int, tuple[Any, ...]]\")", + "offset": 2, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"dict[int, tuple[Any, ...]]\")", + "offset": 4, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"dict[int, tuple[Any, ...]]\")", + "offset": 4, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression type contains \"Any\" (has type \"dict[int, tuple[Any, ...]]\")", + "offset": 4, + "target": "mypy.test.testinfer.OperandComparisonGroupingSuite.test_basic_cases" + } + ], + "mypy/test/testmerge.py": [ + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 179, + "target": "mypy.test.testmerge.ASTMergeSuite.format_symbol_table_node" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 17, + "target": "mypy.test.testmerge.ASTMergeSuite.dump_typeinfos_recursive" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testmerge.ASTMergeSuite.dump_typeinfos_recursive" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (Any, str, str)\")", + "offset": 30, + "target": "mypy.test.testmerge.ASTMergeSuite.dump_types" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression type contains \"Any\" (has type \"(Any, str, str)\")", + "offset": 0, + "target": "mypy.test.testmerge.ASTMergeSuite.dump_types" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testmerge.ASTMergeSuite.dump_types" + } + ], + "mypy/test/testmodulefinder.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 10, + "target": "mypy.test.testmodulefinder" + }, + { + "code": "no-subclass-any", + "column": 24, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 5, + "target": "mypy.test.testmodulefinder" + }, + { + "code": "no-any-unimported", + "column": 24, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testmodulefinder" + }, + { + "code": "no-subclass-any", + "column": 36, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 128, + "target": "mypy.test.testmodulefinder" + }, + { + "code": "no-any-unimported", + "column": 36, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testmodulefinder" + } + ], + "mypy/test/testpep561.py": [ + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 164, + "target": "mypy.test.testpep561.parse_mypy_args" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.testpep561.parse_mypy_args" + }, + { + "code": "unreachable", + "column": 4, + "message": "Statement is unreachable", + "offset": 5, + "target": "mypy.test.testpep561.test_mypy_path_is_respected" + } + ], + "mypy/test/testpythoneval.py": [ + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 71, + "target": "mypy.test.testpythoneval.test_python_evaluation" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 7, + "target": "mypy.test.testpythoneval.test_python_evaluation" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.testpythoneval.test_python_evaluation" + } + ], + "mypy/test/testreports.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 4, + "target": "mypy.test.testreports" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 5, + "target": null + }, + { + "code": "no-subclass-any", + "column": 27, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 7, + "target": "mypy.test.testreports" + }, + { + "code": "no-any-unimported", + "column": 27, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testreports" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypy.test.testreports" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 5, + "target": "mypy.test.testreports" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 2, + "target": null + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 9, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 17, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testreports.CoberturaReportSuite.test_as_xml" + } + ], + "mypy/test/testsemanal.py": [ + { + "code": "redundant-expr", + "column": 15, + "message": "Left operand of \"and\" is always true", + "offset": 202, + "target": "mypy.test.testsemanal.TypeInfoMap.__str__" + } + ], + "mypy/test/testsolve.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 5, + "target": "mypy.test.testsolve" + }, + { + "code": "no-subclass-any", + "column": 17, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 7, + "target": "mypy.test.testsolve" + }, + { + "code": "no-any-unimported", + "column": 17, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testsolve" + } + ], + "mypy/test/teststubgen.py": [ + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 37, + "target": "mypy.test.teststubgen" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 21, + "target": "mypy.test.teststubgen" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 20, + "target": "mypy.test.teststubgen" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 21, + "target": "mypy.test.teststubgen.StubgenCmdLineSuite.run" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 2, + "target": "mypy.test.teststubgen.StubgenCmdLineSuite.run" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 15, + "target": "mypy.test.teststubgen.StubgenCliParseSuite.test_walk_packages" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 342, + "target": "mypy.test.teststubgen" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 18, + "target": "mypy.test.teststubgen" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 136, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_flags" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_flags" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 3, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_flags" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_flags" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 1, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_flags" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 9, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_modules" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypy.test.teststubgen.StubgenPythonSuite.parse_modules" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"type[TestClass]\")", + "offset": 109, + "target": "mypy.test.teststubgen.StubgencSuite.test_generate_c_type_inheritance_builtin_type" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 144, + "target": "mypy.test.teststubgen.StubgencSuite.test_generate_c_property_with_pybind11" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.test.teststubgen.StubgencSuite.test_generate_c_property_with_pybind11" + } + ], + "mypy/test/teststubtest.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 135, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 8, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 1, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(VarArg(Any), KwArg(Any)) -> None\")", + "offset": 24, + "target": "mypy.test.teststubtest.collect_cases" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 4, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 18, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 21, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 23, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 40, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 28, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 34, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 64, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 17, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 66, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 55, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 83, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 63, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 35, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 19, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 16, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 33, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 5, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 6, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 7, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 28, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 12, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 15, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 31, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 33, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 43, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 34, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"((...) -> Iterator[Case]) -> (...) -> None\")", + "offset": 21, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-decorated", + "column": 4, + "message": "Type of decorated function contains type \"Any\" (\"(...) -> None\")", + "offset": 1, + "target": "mypy.test.teststubtest" + }, + { + "code": "no-any-explicit", + "column": 8, + "message": "Explicit \"Any\" is not allowed", + "offset": 183, + "target": "mypy.test.teststubtest.StubtestMiscUnit.test_signature" + }, + { + "code": "no-any-expr", + "column": 81, + "message": "Expression type contains \"Any\" (has type \"(int, int, NamedArg(int, 'c'), DefaultNamedArg(int, 'd'), KwArg(Any)) -> None\")", + "offset": 4, + "target": "mypy.test.teststubtest.StubtestMiscUnit.test_signature" + }, + { + "code": "no-any-expr", + "column": 81, + "message": "Expression type contains \"Any\" (has type \"(int, int, NamedArg(int, 'c'), DefaultNamedArg(int, 'd'), KwArg(Any)) -> None\")", + "offset": 0, + "target": "mypy.test.teststubtest.StubtestMiscUnit.test_signature" + } + ], + "mypy/test/testsubtypes.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 1, + "target": "mypy.test.testsubtypes" + }, + { + "code": "no-subclass-any", + "column": 21, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 7, + "target": "mypy.test.testsubtypes" + }, + { + "code": "no-any-unimported", + "column": 21, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testsubtypes" + } + ], + "mypy/test/testtypegen.py": [ + { + "code": "redundant-expr", + "column": 19, + "message": "Left operand of \"and\" is always true", + "offset": 52, + "target": "mypy.test.testtypegen.TypeExportSuite.run_case" + }, + { + "code": "truthy-bool", + "column": 65, + "message": "Expression has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.test.testtypegen.TypeExportSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (Any, str, str)\")", + "offset": 10, + "target": "mypy.test.testtypegen.TypeExportSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"(Any, str, str)\")", + "offset": 0, + "target": "mypy.test.testtypegen.TypeExportSuite.run_case" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.test.testtypegen.TypeExportSuite.run_case" + } + ], + "mypy/test/testtypes.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.test.helpers\" does not explicitly export attribute \"Suite\"; implicit reexport disabled", + "offset": 5, + "target": "mypy.test.testtypes" + }, + { + "code": "no-subclass-any", + "column": 17, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 19, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 17, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + }, + { + "code": "no-subclass-any", + "column": 19, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 106, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 19, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + }, + { + "code": "no-subclass-any", + "column": 16, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 429, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 16, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 245, + "target": "mypy.test.testtypes.JoinSuite.test_simple_type_objects" + }, + { + "code": "no-subclass-any", + "column": 16, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 94, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 16, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + }, + { + "code": "no-subclass-any", + "column": 20, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 203, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 20, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + }, + { + "code": "no-subclass-any", + "column": 32, + "message": "Class cannot subclass \"Suite\" (has type \"Any\")", + "offset": 44, + "target": "mypy.test.testtypes" + }, + { + "code": "no-any-unimported", + "column": 32, + "message": "Base type Suite becomes \"Any (from unimported type)\" due to an unfollowed import", + "offset": 0, + "target": "mypy.test.testtypes" + } + ], + "mypy/type_visitor.py": [ + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 186, + "target": null + }, + { + "code": "no-any-explicit", + "column": 25, + "message": "Explicit \"Any\" is not allowed", + "offset": 36, + "target": "mypy.type_visitor.TypeTranslator.visit_tuple_type" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.type_visitor.TypeTranslator.visit_tuple_type" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.type_visitor.TypeTranslator.visit_tuple_type" + }, + { + "code": "no-any-explicit", + "column": 29, + "message": "Explicit \"Any\" is not allowed", + "offset": 11, + "target": "mypy.type_visitor.TypeTranslator.visit_typeddict_type" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.type_visitor.TypeTranslator.visit_typeddict_type" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.type_visitor.TypeTranslator.visit_typeddict_type" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 5, + "target": null + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc, no-any-expr]\" instead)", + "offset": 22, + "target": null + } + ], + "mypy/typeanal.py": [ + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 971, + "target": "mypy.typeanal.TypeAnalyser.analyze_callable_type" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[misc]\" instead)", + "offset": 428, + "target": null + } + ], + "mypy/typeops.py": [ + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 101, + "target": "mypy.typeops.type_object_type_from_function" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 118, + "target": "mypy.typeops.bind_self" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 52, + "target": "mypy.typeops.bind_self" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.typeops.bind_self" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 207, + "target": "mypy.typeops._get_type_special_method_bool_ret_type" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 333, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, (set[Any], list[int])]\")", + "offset": 6, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, (set[Any], list[int])]\")", + "offset": 1, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(set[Any], list[int])\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 2, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"dict[str, (set[Any], list[int])]\")", + "offset": 2, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"(set[Any], list[int])\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"dict[str, (set[Any], list[int])]\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"(set[Any], list[int])\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 1, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"set[Any]\")", + "offset": 2, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 4, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.typeops.try_contracting_literals_in_union" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 59, + "target": "mypy.typeops.custom_special_method" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.typeops.custom_special_method" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 74, + "target": "mypy.typeops.infer_impl_from_parts" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 1, + "target": "mypy.typeops.infer_impl_from_parts" + } + ], + "mypy/types.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 26, + "target": "mypy.types" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 141, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 185, + "target": "mypy.types.TypeAliasType.serialize" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TypeAliasType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.types.TypeAliasType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 181, + "target": "mypy.types.TypeVarType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 5, + "target": "mypy.types.TypeVarType.serialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TypeVarType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.types.TypeVarType.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.TypeVarType.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypeVarType.deserialize" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 59, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.types.ParamSpecType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 25, + "target": "mypy.types.ParamSpecType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 12, + "target": "mypy.types.ParamSpecType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 18, + "target": "mypy.types.TypeVarTupleType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 9, + "target": "mypy.types.TypeVarTupleType.deserialize" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 69, + "target": "mypy.types.UnboundType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.UnboundType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 27, + "target": "mypy.types.UnboundType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 2, + "target": "mypy.types.UnboundType.serialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.UnboundType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.types.UnboundType.deserialize" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.UnboundType.deserialize" + }, + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.UnboundType.deserialize" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 27, + "target": "mypy.types.CallableArgument.accept" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 25, + "target": "mypy.types.TypeList.accept" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 23, + "target": "mypy.types.UnpackType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.types.UnpackType.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 46, + "target": "mypy.types.AnyType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.AnyType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.AnyType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.AnyType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 13, + "target": "mypy.types.AnyType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.types.AnyType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 101, + "target": "mypy.types.UninhabitedType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.UninhabitedType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 28, + "target": "mypy.types.NoneType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.types.NoneType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 43, + "target": "mypy.types.DeletedType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.DeletedType.deserialize" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 124, + "target": "mypy.types.Instance.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 11, + "target": "mypy.types.Instance.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 13, + "target": "mypy.types.Instance.copy_modified" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Instance.copy_modified" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.Instance.copy_modified" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.Instance.copy_modified" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 92, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.Parameters.copy_modified" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 97, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 2, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.Parameters.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.Parameters.deserialize" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 8, + "target": "mypy.types.Parameters.__eq__" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.types.Parameters.__eq__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 42, + "target": "mypy.types.CallableType.__init__" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any] | None\")", + "offset": 43, + "target": "mypy.types.CallableType.__init__" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.types.CallableType.__init__" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 10, + "target": "mypy.types.CallableType.__init__" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 12, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 54, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 60, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 72, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.copy_modified" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 198, + "target": "mypy.types.CallableType.__eq__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 14, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 6, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, dict[Any, Any])\")", + "offset": 2, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"dict[Any, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types.CallableType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 62, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.CallableType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 64, + "target": "mypy.types.Overloaded.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.Overloaded.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.Overloaded.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.Overloaded.deserialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.Overloaded.deserialize" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 0, + "target": "mypy.types.Overloaded.deserialize" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.Overloaded.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 65, + "target": "mypy.types.TupleType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.TupleType.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TupleType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.types.TupleType.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.TupleType.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TupleType.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 72, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.TypedDictType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"list[(Any, Type)]\")", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(Any, Type)\")", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(Any, Type)\")", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.TypedDictType.deserialize" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 116, + "target": "mypy.types.RawExpressionType.accept" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 92, + "target": "mypy.types.LiteralType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypy.types.LiteralType.deserialize" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 26, + "target": "mypy.types.StarType.accept" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 72, + "target": "mypy.types.UnionType.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypy.types.UnionType.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypy.types.UnionType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypy.types.UnionType.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types.UnionType.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types.UnionType.deserialize" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 52, + "target": "mypy.types.EllipsisType.accept" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 71, + "target": "mypy.types.TypeType.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypy.types.TypeType.deserialize" + }, + { + "code": "no-any-return", + "column": 8, + "message": "Returning Any from function declared to return \"T\"", + "offset": 29, + "target": "mypy.types.PlaceholderType.accept" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 151, + "target": "mypy.types.TypeStrVisitor.visit_type_var" + }, + { + "code": "truthy-bool", + "column": 30, + "message": "Member \"upper_bound\" has type \"Type\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 13, + "target": "mypy.types.TypeStrVisitor.visit_type_var" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 11, + "target": "mypy.types.TypeStrVisitor.visit_param_spec" + }, + { + "code": "unreachable", + "column": 12, + "message": "Statement is unreachable", + "offset": 40, + "target": "mypy.types.TypeStrVisitor.visit_type_var_tuple" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"partial_fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 83, + "target": "mypy.types.TypeStrVisitor.visit_tuple_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"partial_fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.types.TypeStrVisitor.visit_tuple_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 20, + "target": "mypy.types.TypeStrVisitor.visit_typeddict_type" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"fallback\" has type \"Instance\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 0, + "target": "mypy.types.TypeStrVisitor.visit_typeddict_type" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 95, + "target": "mypy.types.strip_type" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 139, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 0, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 1, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(str, Any)\")", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict_items[str, Any]\")", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.types" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"type[type]\")", + "offset": 0, + "target": "mypy.types" + } + ], + "mypy/util.py": [ + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"bytes | Any\")", + "offset": 118, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"bytes | Any\")", + "offset": 1, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 2, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"(str | Any, int)\")", + "offset": 0, + "target": "mypy.util.find_python_encoding" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 254, + "target": "mypy.util.replace_object_state" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypy.util.replace_object_state" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypy.util.replace_object_state" + } + ], + "mypyc/analysis/dataflow.py": [ + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 35, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Any) -> Any\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"(Any) -> Any\")", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-return", + "column": 68, + "message": "Returning Any from function declared to return \"SupportsDunderLT[Any] | SupportsDunderGT[Any]\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-return", + "column": 68, + "message": "Returning Any from function declared to return \"SupportsDunderLT[Any] | SupportsDunderGT[Any]\"", + "offset": 0, + "target": "mypyc.analysis.dataflow.CFG.__str__" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"type[dict[Any, Any]]\")", + "offset": 84, + "target": "mypyc.analysis.dataflow" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"type[dict[Any, Any]]\")", + "offset": 0, + "target": "mypyc.analysis.dataflow" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"type[dict[Any, Any]]\")", + "offset": 0, + "target": "mypyc.analysis.dataflow" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"type[dict[Any, Any]]\")", + "offset": 0, + "target": "mypyc.analysis.dataflow" + } + ], + "mypyc/build.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.build\" does not explicitly export attribute \"BuildSource\"; implicit reexport disabled", + "offset": 33, + "target": "mypyc.build" + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[import]\" instead)", + "offset": 17, + "target": null + }, + { + "code": "ignore-without-code", + "column": -1, + "message": "\"type: ignore\" comment without error code (consider \"type: ignore[no-redef]\" instead)", + "offset": 16, + "target": null + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Return type becomes \"(list[Any (from unimported type)], list[Any (from unimported type)], Options)\" due to an unfollowed import", + "offset": 24, + "target": "mypyc.build.get_mypy_config" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"generate_c\" becomes \"list[Any (from unimported type)]\" due to an unfollowed import", + "offset": 83, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 3 to \"generate_c\" becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 0, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 21, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 14, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-expr", + "column": 77, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.generate_c" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"build_using_shared_lib\" becomes \"list[Any (from unimported type)]\" due to an unfollowed import", + "offset": 25, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 26, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 4, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), Any (from unimported type))\")", + "offset": 1, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypyc.build.build_using_shared_lib" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"build_single_module\" becomes \"list[Any (from unimported type)]\" due to an unfollowed import", + "offset": 8, + "target": "mypyc.build.build_single_module" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 9, + "target": "mypyc.build.build_single_module" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_single_module" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.build_single_module" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Return type becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 35, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"construct_groups\" becomes \"list[Any (from unimported type)]\" due to an unfollowed import", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-unimported", + "column": 8, + "message": "Type of variable becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 16, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 68, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 5, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 55, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"set[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 58, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], None)\")", + "offset": 2, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(int, (list[Any (from unimported type)], str | None))\")", + "offset": 3, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(int, (list[Any (from unimported type)], str | None))\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"enumerate[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 1, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 2, + "target": "mypyc.build.construct_groups" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 14, + "target": "mypyc.build.get_header_deps" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Return type becomes \"(list[(list[Any (from unimported type)], str | None)], list[(list[str], list[str])])\" due to an unfollowed import", + "offset": 5, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], list[Any (from unimported type)], Options)\")", + "offset": 11, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], list[Any (from unimported type)], Options)\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 7, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 4, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 4, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 1, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 16, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"(list[(list[Any (from unimported type)], str | None)], list[(list[str], list[str])])\")", + "offset": 0, + "target": "mypyc.build.mypyc_build" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(list[(list[Any (from unimported type)], str | None)], list[(list[str], list[str])])\")", + "offset": 65, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(list[(list[Any (from unimported type)], str | None)], list[(list[str], list[str])])\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 5, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 9, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"((list[Any (from unimported type)], str | None), (list[str], list[str]))\")", + "offset": 40, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"((list[Any (from unimported type)], str | None), (list[str], list[str]))\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"zip[((list[Any (from unimported type)], str | None), (list[str], list[str]))]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 3, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.build.mypycify" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 3, + "target": "mypyc.build.mypycify" + } + ], + "mypyc/codegen/emitclass.py": [ + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 146, + "target": "mypyc.codegen.emitclass.generate_slots" + }, + { + "code": "no-any-expr", + "column": 80, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitclass.generate_slots" + } + ], + "mypyc/codegen/emitfunc.py": [ + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"ann\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 408, + "target": "mypyc.codegen.emitfunc.FunctionEmitterVisitor.visit_load_static" + }, + { + "code": "truthy-bool", + "column": 11, + "message": "Member \"ann\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 150, + "target": "mypyc.codegen.emitfunc.FunctionEmitterVisitor.visit_load_global" + } + ], + "mypyc/codegen/emitmodule.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.build\" does not explicitly export attribute \"BuildSource\"; implicit reexport disabled", + "offset": 12, + "target": "mypyc.codegen.emitmodule" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"type[list[Any]]\")", + "offset": 60, + "target": "mypyc.codegen.emitmodule" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"type[list[Any]]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"type[list[Any]]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression type contains \"Any\" (has type \"type[list[Any]]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule" + }, + { + "code": "no-any-unimported", + "column": 4, + "message": "Argument 4 to \"__init__\" becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 25, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 4, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 1, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Generator[Any (from unimported type), None, None]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"Generator[Any (from unimported type), None, None]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"(str | None, list[Any (from unimported type)])\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.__init__" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 33, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.MypycPlugin.report_config_data" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"parse_and_typecheck\" becomes \"list[Any (from unimported type)]\" due to an unfollowed import", + "offset": 10, + "target": "mypyc.codegen.emitmodule.parse_and_typecheck" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 4 to \"parse_and_typecheck\" becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 0, + "target": "mypyc.codegen.emitmodule.parse_and_typecheck" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 9, + "target": "mypyc.codegen.emitmodule.parse_and_typecheck" + }, + { + "code": "no-any-expr", + "column": 73, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 4, + "target": "mypyc.codegen.emitmodule.parse_and_typecheck" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 1 to \"compile_ir_to_c\" becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 87, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 12, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"dict[Any (from unimported type), str]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 1, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 59, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 2, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 83, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 5, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[(Any (from unimported type), ModuleIR)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), ModuleIR)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 79, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 1, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[(Any (from unimported type), ModuleIR)]\")", + "offset": 1, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[(Any (from unimported type), ModuleIR)]\")", + "offset": 4, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"dict[Any (from unimported type), str]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_ir_to_c" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 81, + "target": "mypyc.codegen.emitmodule.load_scc_from_cache" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.codegen.emitmodule.load_scc_from_cache" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.load_scc_from_cache" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 4, + "target": "mypyc.codegen.emitmodule.load_scc_from_cache" + }, + { + "code": "no-any-unimported", + "column": 0, + "message": "Argument 4 to \"compile_modules_to_c\" becomes \"list[(list[Any (from unimported type)], str | None)]\" due to an unfollowed import", + "offset": 5, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 25, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"dict[Any (from unimported type), str | None]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 85, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[Any (from unimported type), str | None]\")", + "offset": 1, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 7, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"dict[Any (from unimported type), str | None]\")", + "offset": 3, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 2, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"(list[Any (from unimported type)], str | None)\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"list[Any (from unimported type)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.codegen.emitmodule.compile_modules_to_c" + } + ], + "mypyc/codegen/literals.py": [ + { + "code": "no-any-explicit", + "column": 40, + "message": "Explicit \"Any\" is not allowed", + "offset": 56, + "target": "mypyc.codegen.literals.Literals.record_literal" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.literals.Literals.record_literal" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.literals.Literals.record_literal" + }, + { + "code": "no-any-explicit", + "column": 43, + "message": "Explicit \"Any\" is not allowed", + "offset": 81, + "target": "mypyc.codegen.literals.Literals.encoded_tuple_values" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.literals.Literals.encoded_tuple_values" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.codegen.literals.Literals.encoded_tuple_values" + } + ], + "mypyc/common.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 70, + "target": "mypyc.common" + } + ], + "mypyc/ir/class_ir.py": [ + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (int, Any)\")", + "offset": 311, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"(int, Any)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"Any | list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.concrete_subclasses" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 6, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 16, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 7, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 4, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 6, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any] | None)\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any] | None\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 4, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.serialize" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 6, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 76, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 14, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"Generator[(Any, RType), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, RType)\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, RType)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"Generator[(Any, FuncDecl), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"(Any, FuncDecl)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"(Any, FuncDecl)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 87, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 87, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"Generator[(Any, FuncIR), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"(Any, FuncIR)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"(Any, FuncIR)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"Generator[((ClassIR, Any), FuncIR), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"((ClassIR, Any), FuncIR)\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"((ClassIR, Any), FuncIR)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"(ClassIR, Any)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"(ClassIR, Any)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression type contains \"Any\" (has type \"Generator[(Any, RType), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 39, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, RType)\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, RType)\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"Generator[(Any, (FuncIR, FuncIR | None)), None, None]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, (FuncIR, FuncIR | None))\")", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(Any, (FuncIR, FuncIR | None))\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 64, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 48, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 56, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.class_ir.ClassIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 25, + "target": "mypyc.ir.class_ir.serialize_vtable_entry" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression has type \"Any\"", + "offset": 14, + "target": "mypyc.ir.class_ir.deserialize_vtable_entry" + } + ], + "mypyc/ir/func_ir.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 38, + "target": "mypyc.ir.func_ir.RuntimeArg.serialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 26, + "target": "mypyc.ir.func_ir.FuncSignature.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncSignature.serialize" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncSignature.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 5, + "target": "mypyc.ir.func_ir.FuncSignature.deserialize" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncSignature.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 75, + "target": "mypyc.ir.func_ir.FuncDecl.serialize" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any\"", + "offset": 15, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 67, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.func_ir.FuncDecl.get_id_from_json" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 82, + "target": "mypyc.ir.func_ir.FuncIR.serialize" + } + ], + "mypyc/ir/module_ir.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 29, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 3, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"(str, list[Any])\")", + "offset": 1, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.serialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 13, + "message": "Expression type contains \"Any\" (has type \"(Any, RType)\")", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 14, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.ModuleIR.deserialize" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 21, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 25, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypyc.ir.module_ir.deserialize_modules" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.ir.module_ir.deserialize_modules" + } + ], + "mypyc/ir/pprint.py": [ + { + "code": "truthy-bool", + "column": 39, + "message": "Member \"ann\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 96, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.visit_load_static" + }, + { + "code": "truthy-bool", + "column": 39, + "message": "Member \"ann\" has type \"object\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 87, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.visit_load_global" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 37, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 14, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 8, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.pprint.IRPrettyPrintVisitor.format" + } + ], + "mypyc/ir/rtypes.py": [ + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 100, + "target": "mypyc.ir.rtypes.deserialize_type" + }, + { + "code": "no-any-expr", + "column": 9, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.ir.rtypes.deserialize_type" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 482, + "target": "mypyc.ir.rtypes.RTuple.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypyc.ir.rtypes.RTuple.deserialize" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.rtypes.RTuple.deserialize" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 219, + "target": "mypyc.ir.rtypes.RUnion.serialize" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypyc.ir.rtypes.RUnion.deserialize" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.ir.rtypes.RUnion.deserialize" + } + ], + "mypyc/irbuild/builder.py": [ + { + "code": "no-any-expr", + "column": 13, + "message": "Expression has type \"Any\"", + "offset": 175, + "target": "mypyc.irbuild.builder.IRBuilder.accept" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 971, + "target": "mypyc.irbuild.builder.IRBuilder.catch_errors" + } + ], + "mypyc/irbuild/classdef.py": [ + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any\"", + "offset": 86, + "target": "mypyc.irbuild.classdef.transform_class_def" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypyc.irbuild.classdef.transform_class_def" + } + ], + "mypyc/irbuild/constant_fold.py": [ + { + "code": "no-any-return", + "column": 12, + "message": "Returning Any from function declared to return \"int | None\"", + "offset": 82, + "target": "mypyc.irbuild.constant_fold.constant_fold_binary_int_op" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.irbuild.constant_fold.constant_fold_binary_int_op" + } + ], + "mypyc/irbuild/expression.py": [ + { + "code": "no-any-expr", + "column": 45, + "message": "Expression has type \"Any\"", + "offset": 144, + "target": "mypyc.irbuild.expression.transform_member_expr" + } + ], + "mypyc/irbuild/for_helpers.py": [ + { + "code": "truthy-bool", + "column": 15, + "message": "\"value_box\" has type \"Value\" which does not implement __bool__ or __len__ so it could always be true in boolean context", + "offset": 571, + "target": "mypyc.irbuild.for_helpers.ForSequence.begin_body" + } + ], + "mypyc/irbuild/function.py": [ + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 122, + "target": "mypyc.irbuild.function.transform_lambda_expr" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> Any\")", + "offset": 157, + "target": "mypyc.irbuild.function.gen_func_item" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.irbuild.function.gen_func_item" + } + ], + "mypyc/irbuild/ll_builder.py": [ + { + "code": "attr-defined", + "column": 0, + "message": "Module \"mypy.checkexpr\" does not explicitly export attribute \"map_actuals_to_formals\"; implicit reexport disabled", + "offset": 20, + "target": "mypyc.irbuild.ll_builder" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 657, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> AnyType\")", + "offset": 4, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), RuntimeArg)\")", + "offset": 5, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), RuntimeArg)\")", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"zip[(Any (from unimported type), RuntimeArg)]\")", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 88, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 88, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), RuntimeArg)\")", + "offset": 12, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any (from unimported type), RuntimeArg)\")", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"zip[(Any (from unimported type), RuntimeArg)]\")", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 7, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 3, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 2, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any (from unimported type)\"", + "offset": 0, + "target": "mypyc.irbuild.ll_builder.LowLevelIRBuilder.native_args_to_positional" + } + ], + "mypyc/irbuild/main.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 48, + "target": "mypyc.irbuild.main" + }, + { + "code": "no-any-explicit", + "column": 22, + "message": "Explicit \"Any\" is not allowed", + "offset": 1, + "target": "mypyc.irbuild.main" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(F) -> F\")", + "offset": 0, + "target": "mypyc.irbuild.main" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"(F) -> F\")", + "offset": 0, + "target": "mypyc.irbuild.main" + }, + { + "code": "no-any-expr", + "column": 1, + "message": "Expression type contains \"Any\" (has type \"(F) -> F\")", + "offset": 3, + "target": "mypyc.irbuild.main" + } + ], + "mypyc/irbuild/mapper.py": [ + { + "code": "no-any-expr", + "column": 29, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 83, + "target": "mypyc.irbuild.mapper.Mapper.type_to_rtype" + }, + { + "code": "no-any-expr", + "column": 33, + "message": "Expression type contains \"Any\" (has type \"type[CallableType]\")", + "offset": 41, + "target": "mypyc.irbuild.mapper.Mapper.fdef_to_sig" + } + ], + "mypyc/irbuild/prepare.py": [ + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 177, + "target": "mypyc.irbuild.prepare.prepare_class_def" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypyc.irbuild.prepare.prepare_class_def" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypyc.irbuild.prepare.prepare_class_def" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.irbuild.prepare.prepare_class_def" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Any | None\")", + "offset": 0, + "target": "mypyc.irbuild.prepare.prepare_class_def" + } + ], + "mypyc/irbuild/util.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 61, + "target": "mypyc.irbuild.util.get_mypyc_attr_literal" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 26, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 7, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.irbuild.util.get_mypyc_attrs" + } + ], + "mypyc/test/test_analysis.py": [ + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> (Any, Any)\")", + "offset": 70, + "target": "mypyc.test.test_analysis.TestAnalysis.run_case" + }, + { + "code": "no-any-expr", + "column": 52, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypyc.test.test_analysis.TestAnalysis.run_case" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_analysis.TestAnalysis.run_case" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_analysis.TestAnalysis.run_case" + }, + { + "code": "no-any-expr", + "column": 65, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_analysis.TestAnalysis.run_case" + } + ], + "mypyc/test/test_cheader.py": [ + { + "code": "unreachable", + "column": 20, + "message": "Statement is unreachable", + "offset": 31, + "target": "mypyc.test.test_cheader.TestHeaderInclusion.test_primitives_included_in_header" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression has type \"Any\"", + "offset": 8, + "target": "mypyc.test.test_cheader.TestHeaderInclusion.test_primitives_included_in_header" + }, + { + "code": "no-any-expr", + "column": 24, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 0, + "target": "mypyc.test.test_cheader.TestHeaderInclusion.test_primitives_included_in_header" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_cheader.TestHeaderInclusion.test_primitives_included_in_header" + } + ], + "mypyc/test/test_commandline.py": [ + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 39, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + }, + { + "code": "no-any-expr", + "column": 78, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 11, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + }, + { + "code": "no-any-expr", + "column": 78, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + }, + { + "code": "no-any-expr", + "column": 78, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + }, + { + "code": "no-any-expr", + "column": 78, + "message": "Expression type contains \"Any\" (has type \"list[str] | Any\")", + "offset": 0, + "target": "mypyc.test.test_commandline.TestCommandLine.run_case" + } + ], + "mypyc/test/test_emitclass.py": [ + { + "code": "no-any-expr", + "column": 30, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 11, + "target": "mypyc.test.test_emitclass.TestEmitClass.test_slot_key" + } + ], + "mypyc/test/test_exceptions.py": [ + { + "code": "no-any-expr", + "column": 57, + "message": "Expression type contains \"Any\" (has type \"list[Any]\")", + "offset": 53, + "target": "mypyc.test.test_exceptions.TestExceptionTransform.run_case" + }, + { + "code": "no-any-expr", + "column": 63, + "message": "Expression type contains \"Any\" (has type \"Generator[Any, None, None]\")", + "offset": 0, + "target": "mypyc.test.test_exceptions.TestExceptionTransform.run_case" + } + ], + "mypyc/test/test_external.py": [ + { + "code": "no-any-expr", + "column": 5, + "message": "Expression type contains \"Any\" (has type \"(_FT) -> _FT\")", + "offset": 17, + "target": "mypyc.test.test_external" + } + ], + "mypyc/test/test_run.py": [ + { + "code": "no-any-explicit", + "column": 15, + "message": "Explicit \"Any\" is not allowed", + "offset": 101, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 4, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 3, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | bool\")", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 28, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.run_setup" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Untyped\"", + "offset": 62, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression type contains \"Any\" (has type \"Any (unannotated) | bool\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "attr-defined", + "column": 17, + "message": "Module has no attribute \"BuildSource\"; maybe \"BuildSourceSet\"?", + "offset": 18, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "attr-defined", + "column": 31, + "message": "Module has no attribute \"BuildSource\"; maybe \"BuildSourceSet\"?", + "offset": 13, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 10, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 3, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 43, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 8, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 7, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"list[(list[Any (from unimported type)], str | None)]\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression has type \"Any\"", + "offset": 22, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Untyped\"", + "offset": 7, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"Any (unannotated) | bool\")", + "offset": 17, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-untyped-usage", + "column": 8, + "message": "Usage of untyped name \"debugger\" in typed context", + "offset": 2, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Untyped\"", + "offset": 1, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Untyped\"", + "offset": 1, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any (unannotated)\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Untyped\"", + "offset": 2, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 17, + "message": "Expression has type \"Any (unannotated)\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression has type \"Untyped\"", + "offset": 15, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 2, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": -1, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": -1, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"Any (unannotated) | bool\")", + "offset": 3, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"int | Any\")", + "offset": 31, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"bool | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.run_case_step" + }, + { + "code": "no-any-explicit", + "column": 4, + "message": "Explicit \"Any\" is not allowed", + "offset": 2, + "target": "mypyc.test.test_run.TestRun.get_separate" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 7, + "target": "mypyc.test.test_run.TestRun.get_separate" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.TestRun.get_separate" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 60, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 21, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> str\")", + "offset": 3, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.test_run.fix_native_line_number" + } + ], + "mypyc/test/test_serialization.py": [ + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 18, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 19, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 30, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 71, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 74, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.get_dict" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypyc.test.test_serialization.get_function_dict" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.test.test_serialization.get_function_dict" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypyc.test.test_serialization.get_function_dict" + }, + { + "code": "no-any-expr", + "column": 4, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypyc.test.test_serialization.get_function_dict" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 1, + "target": "mypyc.test.test_serialization.get_function_dict" + }, + { + "code": "no-any-explicit", + "column": 0, + "message": "Explicit \"Any\" is not allowed", + "offset": 3, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 16, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 16, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 22, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression type contains \"Any\" (has type \"(str, type[Any], type[Any])\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 32, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 61, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 66, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 70, + "message": "Expression type contains \"Any\" (has type \"type[Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 75, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 18, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 29, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 41, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 47, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"((Any, Any), Any)\")", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"((Any, Any), Any)\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression type contains \"Any\" (has type \"zip[((Any, Any), Any)]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 49, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 2, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, (Any, Any))\")", + "offset": 4, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(int, (Any, Any))\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression type contains \"Any\" (has type \"(Any, Any)\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 8, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 27, + "message": "Expression type contains \"Any\" (has type \"enumerate[(Any, Any)]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression type contains \"Any\" (has type \"zip[(Any, Any)]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 44, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 34, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 38, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | str | set[Any]\")", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 31, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 35, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression type contains \"Any\" (has type \"Any | str | set[Any]\")", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression has type \"Any\"", + "offset": 1, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 40, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression type contains \"Any\" (has type \"Any | str | set[Any]\")", + "offset": 2, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 15, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 20, + "message": "Expression has type \"Any\"", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"tuple[Any, ...]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_blobs_same" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 15, + "target": "mypyc.test.test_serialization.assert_modules_same" + }, + { + "code": "no-any-expr", + "column": 42, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_modules_same" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 3, + "target": "mypyc.test.test_serialization.assert_modules_same" + }, + { + "code": "no-any-expr", + "column": 50, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_modules_same" + }, + { + "code": "no-any-expr", + "column": 26, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 2, + "target": "mypyc.test.test_serialization.assert_modules_same" + }, + { + "code": "no-any-expr", + "column": 46, + "message": "Expression type contains \"Any\" (has type \"dict[str, Any]\")", + "offset": 0, + "target": "mypyc.test.test_serialization.assert_modules_same" + } + ], + "mypyc/test/testutil.py": [ + { + "code": "attr-defined", + "column": 13, + "message": "Module has no attribute \"BuildSource\"; maybe \"BuildSourceSet\"?", + "offset": 114, + "target": "mypyc.test.testutil.build_ir_for_single_file2" + }, + { + "code": "no-any-expr", + "column": 7, + "message": "Expression type contains \"Any\" (has type \"Literal[False] | Untyped\")", + "offset": 59, + "target": "mypyc.test.testutil.assert_test_output" + }, + { + "code": "no-any-expr", + "column": 37, + "message": "Expression has type \"Untyped\"", + "offset": 0, + "target": "mypyc.test.testutil.assert_test_output" + }, + { + "code": "no-any-expr", + "column": 12, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 13, + "target": "mypyc.test.testutil.get_func_names" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.testutil.get_func_names" + }, + { + "code": "no-any-expr", + "column": 23, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.testutil.get_func_names" + }, + { + "code": "no-any-expr", + "column": 11, + "message": "Expression type contains \"Any\" (has type \"list[str | Any]\")", + "offset": 1, + "target": "mypyc.test.testutil.get_func_names" + }, + { + "code": "no-any-expr", + "column": 36, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 86, + "target": "mypyc.test.testutil.infer_ir_build_options_from_test_name" + }, + { + "code": "no-any-expr", + "column": 53, + "message": "Expression type contains \"Any\" (has type \"str | Any\")", + "offset": 0, + "target": "mypyc.test.testutil.infer_ir_build_options_from_test_name" + } + ], + "mypyc/transform/refcount.py": [ + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 197, + "target": "mypyc.transform.refcount.after_branch_decrefs" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypyc.transform.refcount.after_branch_decrefs" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 15, + "target": "mypyc.transform.refcount.after_branch_increfs" + }, + { + "code": "no-any-expr", + "column": 51, + "message": "Expression type contains \"Any\" (has type \"(Untyped) -> int\")", + "offset": 0, + "target": "mypyc.transform.refcount.after_branch_increfs" + } + ] + }, + "format": "1.3", + "targets": [ + "package:mypy", + "package:mypyc" + ] +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..9d2e894ea --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,45 @@ +# Basedmypy Changelog + +## [Unreleased] + +## [1.4.0] +### Added +- When `__future__.annotations`, all `typing`s are usable without imports + +## [Unreleased] +### Added +- `ignore_any_from_errors` option to suppress `no-any-expr` messages from other errors +- Function types are inferred from Overloads, overrides and default values. (no overrides for now sorry) +- Infer Property types +- Calls to incomplete functions are an error (configurable with `incomplete_is_typed`) +- Added a new type `Untyped`, it's like `Any`, but more specific +- Added a dependency on `basedtyping` +### Enhancements +- Render types a lot better in output messages +### Fixes +- `types.NoneType` now works as a value of `type[None]` + +## [1.3.0] +### Added +- `default_return` option to imply unannotated return type as `None`. +- Specific error codes for `Any` errors +- Automatic baseline mode, if there are no new errors then write. +- Ignore baseline with `mypy --baseline-file= src` +### Enhancements +- Baseline will ignore reveals (`reveal_type` and `reveal_locals`). +- `--write-baseline` will report total and new errors. +- Much better baseline matching. + +## [1.2.0] +### Added +- Unions in output messages show with new syntax +- `--legacy` flag +- new baseline format + +## [1.0.0] +### Added +- Strict by default(`--strict` and disable dynamic typing) +- add baseline support(`--write-baseline`, `--baseline-file`) +- Type ignore must specify error code +- Unused type ignore can be ignored +- Add error code for unsafe variance(`unsafe-variance`) diff --git a/CREDITS b/CREDITS index fb2fe155a..34958ec03 100644 --- a/CREDITS +++ b/CREDITS @@ -1,6 +1,14 @@ Credits ------- +We would like to thank the core basedmypy team: + + KotlinIsland + DetachHead + +Mypy Credits +------------ + For a full list of contributors you can mine the commit history: https://github.com/python/mypy/commits/master diff --git a/MANIFEST.in b/MANIFEST.in index fe10e2226..a1fe21f31 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -41,7 +41,7 @@ include runtests.py include pytest.ini include LICENSE mypyc/README.md -exclude .gitmodules CONTRIBUTING.md CREDITS ROADMAP.md tox.ini action.yml .editorconfig +exclude .gitmodules CONTRIBUTING.md CREDITS ROADMAP.md tox.ini action.yml .editorconfig mypy_self_check_strict.ini CHANGELOG.md .mypy/baseline.json global-exclude *.py[cod] global-exclude .DS_Store diff --git a/README.md b/README.md index 9a63090e9..3f6b8fb8f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,51 @@ -mypy logo +# Based mypy logo -Mypy: Static Typing for Python -======================================= +[![Discord](https://img.shields.io/discord/948915247073349673?logo=discord)](https://discord.gg/7y9upqPrk2) + +Basedmypy: Based Static Typing for Python +========================================= + +What is basedmypy? +------------- +Basedmypy is a fork of mypy that adds based functionality and breaks +compatibility with the cringe parts of pep 484. + +Based features include: +- Typesafe by default (optional and dynamic typing still supported) +- Baseline functionality +- Default return type of `None` instead of `Any` + +See the [changelog](CHANGELOG.md) for a comprehensive list. + +## Usage + +### Installation + +Basedmypy can be installed using pip from PyPI or from this GitHub repo: + + python -m pip install -U basedmypy + +### Running +Basedmypy is installed as an alternative to, and in place of, the `mypy` installation: + + mypy test.py + + python -m mypy test.py + +Got a question or found a bug? +---------------------------------- + +Feel free to start a discussion or raise an issue, we're happy to respond: + +- [basedmypy tracker](https://github.com/KotlinIsland/basedmypy/issues) + for basedmypy issues +- [basedtypeshed tracker](https://github.com/KotlinIsland/basedtypeshed/issues) + for issues with specific modules +- [basedtyping tracker](https://github.com/KotlinIsland/basedtyping/issues) + for issues with the 'basedtyping' package (runtime functionality). + +Readme from [python/mypy](https://github.com/python/mypy) +=========== [![Stable Version](https://img.shields.io/pypi/v/mypy?color=blue)](https://pypi.org/project/mypy/) [![Downloads](https://img.shields.io/pypi/dm/mypy)](https://pypistats.org/packages/mypy) diff --git a/misc/trigger_wheel_build.sh b/misc/trigger_wheel_build.sh index c914a6e7c..3b1ae42ea 100755 --- a/misc/trigger_wheel_build.sh +++ b/misc/trigger_wheel_build.sh @@ -12,9 +12,9 @@ git config --global user.name "mypy wheels autopush" COMMIT=$(git rev-parse HEAD) pip install -r mypy-requirements.txt V=$(python3 -m mypy --version) -V=$(echo "$V" | cut -d" " -f2) +V=$(echo "$V" | head -n 1 | cut -d" " -f2) -git clone --depth 1 https://${WHEELS_PUSH_TOKEN}@github.com/mypyc/mypy_mypyc-wheels.git build +git clone --depth 1 https://${WHEELS_PUSH_TOKEN}@github.com/KotlinIsland/mypy_mypyc-wheels.git build cd build echo $COMMIT > mypy_commit git commit -am "Build wheels for mypy $V" diff --git a/misc/upload-pypi.py b/misc/upload-pypi.py index ad244a547..4611bfc76 100644 --- a/misc/upload-pypi.py +++ b/misc/upload-pypi.py @@ -11,6 +11,7 @@ import re import shutil import subprocess +import sys import tarfile import tempfile import venv @@ -20,7 +21,7 @@ from urllib.request import urlopen BASE = "https://api.github.com/repos" -REPO = "mypyc/mypy_mypyc-wheels" +REPO = "KotlinIsland/mypy_mypyc-wheels" def is_whl_or_tar(name: str) -> bool: @@ -58,15 +59,25 @@ def check_sdist(dist: Path, version: str) -> None: assert version in sdist.name with tarfile.open(sdist) as f: version_py = f.extractfile(f"{sdist.name[:-len('.tar.gz')]}/mypy/version.py") + versionutil_py = f.extractfile(f"{sdist.name[:-len('.tar.gz')]}/mypy/versionutil.py") assert version_py is not None + assert versionutil_py is not None version_py_contents = version_py.read().decode("utf-8") + versionutil_py_contents = versionutil_py.read().decode("utf-8") # strip a git hash from our version, if necessary, since that's not present in version.py match = re.match(r"(.*\+dev).*$", version) hashless_version = match.group(1) if match else version + from types import ModuleType + version = ModuleType("version") + versionutil = ModuleType("versionutil") + exec(versionutil_py_contents, versionutil.__dict__) + sys.modules["mypy.versionutil"] = versionutil + version_py_contents = re.sub("from mypy import git\n", "", version_py_contents).split("mypy_dir ")[0] + exec(version_py_contents, version.__dict__) assert ( - f"'{hashless_version}'" in version_py_contents + hashless_version == version.__based_version__ ), "Version does not match version.py in sdist" @@ -100,7 +111,8 @@ def upload_dist(dist: Path, dry_run: bool = True) -> None: def upload_to_pypi(version: str, dry_run: bool = True) -> None: - assert re.match(r"v?0\.[0-9]{3}(\+\S+)?$", version) + # Verify `version` is a valid version, eg: 1.3.1rc2 + assert re.match(r"v?\d+\.\d+\.\d+(\+dev\.\S+|(a|b|rc)\d+)?$", version) if "dev" in version: assert dry_run, "Must use --dry-run with dev versions of mypy" if version.startswith("v"): diff --git a/mypy-requirements.txt b/mypy-requirements.txt index 1c3722943..86272efd2 100644 --- a/mypy-requirements.txt +++ b/mypy-requirements.txt @@ -1,3 +1,4 @@ +basedtyping>=0.0.1 typing_extensions>=3.10 mypy_extensions>=0.4.3 typed_ast>=1.4.0,<2; python_version<'3.8' diff --git a/mypy/build.py b/mypy/build.py index 1196356d5..61c3a13a4 100644 --- a/mypy/build.py +++ b/mypy/build.py @@ -21,9 +21,13 @@ import sys import time import types +from json import JSONDecodeError +from pathlib import Path +from sys import stderr from typing import (AbstractSet, Any, Dict, Iterable, Iterator, List, Sequence, - Mapping, NamedTuple, Optional, Set, Tuple, TypeVar, Union, Callable, TextIO) + Mapping, NamedTuple, Optional, Set, Tuple, TypeVar, Union, + Callable, TextIO, cast) from typing_extensions import ClassVar, NoReturn, Final, TYPE_CHECKING, TypeAlias as _TypeAlias from mypy_extensions import TypedDict @@ -33,7 +37,8 @@ import mypy.semanal_main from mypy.checker import TypeChecker from mypy.indirection import TypeIndirectionVisitor -from mypy.errors import Errors, CompileError, ErrorInfo, report_internal_error +from mypy.errors import (Errors, CompileError, ErrorInfo, report_internal_error, BaselineError, + UnknownBaselineError) from mypy.util import ( DecodeError, decode_python_encoding, is_sub_path, get_mypy_comments, module_prefix, read_py_file, hash_digest, is_typeshed_file, is_stub_package_file, get_top_two_prefixes, @@ -51,7 +56,7 @@ from mypy.parse import parse from mypy.stats import dump_type_stats from mypy.types import Type -from mypy.version import __version__ +from mypy.version import __based_version__, __version__ from mypy.plugin import Plugin, ChainedPlugin, ReportConfigContext from mypy.plugins.default import DefaultPlugin from mypy.fscache import FileSystemCache @@ -61,7 +66,7 @@ from mypy.config_parser import parse_mypy_comments from mypy.freetree import free_tree from mypy.stubinfo import legacy_bundled_packages, is_legacy_bundled_package -from mypy import errorcodes as codes +from mypy import errorcodes as codes, defaults, util # Switch to True to produce debug output related to fine-grained incremental @@ -162,6 +167,8 @@ def default_flush_errors(new_messages: List[str], is_serious: bool) -> None: # Patch it up to contain either none or all none of the messages, # depending on whether we are flushing errors. serious = not e.use_stdout + # don't write anything if there was a compile error + options.write_baseline = False flush_errors(e.messages, serious) e.messages = messages raise @@ -202,6 +209,7 @@ def _build(sources: List[BuildSource], options.enabled_error_codes, options.disabled_error_codes, options.many_errors_threshold) + load_baseline(options, errors, stdout) plugin, snapshot = load_plugins(options, errors, stdout, extra_plugins) # Add catch-all .gitignore to cache dir if we created it @@ -215,7 +223,7 @@ def _build(sources: List[BuildSource], source_set=source_set, reports=reports, options=options, - version_id=__version__, + version_id=__based_version__, plugin=plugin, plugins_snapshot=snapshot, errors=errors, @@ -977,6 +985,180 @@ def generate_deps_for_cache(manager: BuildManager, return rdeps +def baseline_format_error( + baseline_format: str, stdout: TextIO, options: Options +) -> NoReturn: + # TODO: cleanup this call to main + from mypy import main + + formatter = util.FancyFormatter(stdout, stderr, False) + + msg = formatter.style( + f"Invalid/Unsupported baseline file format: {baseline_format}", + 'red', + bold=True + ) + main.fail(msg, stderr, options) + + +# Documenting baseline formats +UnknownBaseline = Dict[str, object] + + +class BaselineFormat1_3(TypedDict): + targets: List[str] + version: str + files: Dict[str, List[BaselineError]] + + +class BaselineMetadata(TypedDict): + targets: List[str] + version: str + + +BaselineFormat1_2 = Dict[str, Union[BaselineMetadata, List[BaselineError]]] + +BaselineType = Union[ + BaselineFormat1_3, + BaselineFormat1_2, +] + + +def save_baseline(manager: BuildManager) -> None: + if ( + not manager.options.baseline_file + or not (manager.options.write_baseline or manager.options.auto_baseline) + or ( + manager.options.auto_baseline and not manager.options.write_baseline + and ( + manager.errors.num_messages() + or manager.errors.baseline_targets != manager.options.targets + ) + ) + ): + # Indicate that writing was canceled + manager.options.write_baseline = False + return + new_baseline = manager.errors.prepare_baseline_errors(manager.options.baseline_format) + file = Path(manager.options.baseline_file) + if not new_baseline: + if file.exists(): + file.unlink() + print("No errors, baseline file removed") + elif manager.options.write_baseline: + print("No errors, no baseline to write") + # Indicate that writing was canceled + manager.options.write_baseline = False + return + if new_baseline == manager.errors.original_baseline: + return + if not file.parent.exists(): + file.parent.mkdir(parents=True) + data: UnknownBaseline + if manager.options.baseline_format == "1.3": + data = { + "files": new_baseline, + "format": "1.3", + "targets": manager.options.targets, + } + elif manager.options.baseline_format == "1.2": + data = { + "__baseline_metadata__": { + "format": "1.2", "targets": manager.options.targets, + }, + **new_baseline, + } + else: + baseline_format_error( + manager.options.baseline_format, manager.stdout, manager.options + ) + json.dump( + data, + file.open("w"), + indent=2, + sort_keys=True, + ) + if not manager.options.write_baseline and manager.options.auto_baseline: + manager.stdout.write(f"Baseline successfully updated at {file}\n") + + +def load_baseline(options: Options, errors: Errors, stdout: TextIO) -> None: + if not options.baseline_file: + return + + from mypy import main + + formatter = util.FancyFormatter(stdout, stderr, options.show_error_codes) + file = Path(options.baseline_file) + + if not file.exists(): + if options.baseline_file != defaults.BASELINE_FILE and not options.write_baseline: + msg = formatter.style( + f"error: Baseline file not found at {file}", 'red', + bold=True + ) + main.fail(msg, stderr, options) + else: + if options.baseline_format == "default": + options.baseline_format = "1.3" + return + try: + data: UnknownBaseline = json.load(file.open()) + except JSONDecodeError: + msg = formatter.style( + f"error: Invalid JSON in baseline file {file}", + 'red', bold=True + ) + main.fail(msg, stderr, options) + + # try to detect format: + baseline_format = data.get("format") + if not baseline_format: + metadata = data.get("__baseline_metadata__") + baseline_format = metadata.get("format") if isinstance(metadata, dict) else None + if not baseline_format: + # if format hasn't been found yet, it can only be 1.2 + baseline_format = "1.2" + if not options.write_baseline and options.baseline_format == "default": + options.baseline_format = baseline_format + # set default baseline format + if options.write_baseline and options.baseline_format == "default": + options.baseline_format = "1.3" + + # pull out data + if baseline_format == "1.3": + baseline_errors = data.get("files", []) + targets = data.get("targets") + elif baseline_format == "1.2": + metadata = data.pop("__baseline_metadata__", None) + targets = None + if isinstance(metadata, dict): + targets = metadata.get("targets") + if targets is None: + targets = ["None"] + baseline_errors = data + else: + baseline_format_error(options.baseline_format, stdout, options) + + if baseline_errors and targets: + errors.initialize_baseline( + cast(Dict[str, List[UnknownBaselineError]], baseline_errors), + cast(List[str], targets), + baseline_format, + ) + return + + # deal with errors + if options.write_baseline: + return + msg = formatter.style( + f"error: Baseline file '{file}' has an invalid data format.\n" + "Perhaps it was generated with an older version of basedmypy, see `--baseline-format`", + 'red', bold=True + ) + main.fail(msg, stderr, options) + + PLUGIN_SNAPSHOT_FILE: Final = "@plugins_snapshot.json" @@ -2636,6 +2818,7 @@ def log_configuration(manager: BuildManager, sources: List[BuildSource]) -> None manager.log() configuration_vars = [ + ("Basedmypy Version", __based_version__), ("Mypy Version", __version__), ("Config File", (manager.options.config_file or "Default")), ("Configured Executable", manager.options.python_executable or "None"), @@ -2727,6 +2910,8 @@ def dispatch(sources: List[BuildSource], # graph---we'll handle it all later. if not manager.use_fine_grained_cache(): process_graph(graph, manager) + # update baseline + save_baseline(manager) # Update plugins snapshot. write_plugins_snapshot(manager) manager.old_plugins_snapshot = manager.plugins_snapshot @@ -3201,7 +3386,18 @@ def process_stale_scc(graph: Graph, scc: List[str], manager: BuildManager) -> No for id in stale: graph[id].transitive_error = True for id in stale: - manager.flush_errors(manager.errors.file_messages(graph[id].xpath), False) + manager.errors.filter_baseline(graph[id].xpath) + # show new errors only + manager.flush_errors( + manager.errors.file_messages(graph[id].xpath), + False, + ) + if manager.options.write_baseline: + # collect but don't show old errors + manager.flush_errors( + manager.errors.file_messages(graph[id].xpath, True), + True, + ) graph[id].write_cache() graph[id].mark_as_rechecked() diff --git a/mypy/checker.py b/mypy/checker.py index c131e80d4..966d42809 100644 --- a/mypy/checker.py +++ b/mypy/checker.py @@ -12,6 +12,7 @@ from typing_extensions import Final, TypeAlias as _TypeAlias from mypy.backports import nullcontext +from mypy.checkexpr import has_untyped_type from mypy.errorcodes import TYPE_VAR from mypy.errors import Errors, report_internal_error, ErrorWatcher from mypy.nodes import ( @@ -39,7 +40,7 @@ is_named_instance, union_items, TypeQuery, LiteralType, is_optional, remove_optional, TypeTranslator, StarType, get_proper_type, ProperType, get_proper_types, is_literal_type, TypeAliasType, TypeGuardedType, ParamSpecType, - OVERLOAD_NAMES, UnboundType + OVERLOAD_NAMES, UnboundType, is_unannotated_any, UntypedType ) from mypy.typetraverser import TypeTraverserVisitor from mypy.sametypes import is_same_type @@ -463,13 +464,13 @@ def accept_loop(self, body: Statement, else_body: Optional[Statement] = None, *, # Definitions # - def visit_overloaded_func_def(self, defn: OverloadedFuncDef) -> None: + def visit_overloaded_func_def(self, defn: OverloadedFuncDef, do_items=True) -> None: if not self.recurse_into_functions: return with self.tscope.function_scope(defn): - self._visit_overloaded_func_def(defn) + self._visit_overloaded_func_def(defn, do_items) - def _visit_overloaded_func_def(self, defn: OverloadedFuncDef) -> None: + def _visit_overloaded_func_def(self, defn: OverloadedFuncDef, do_items=True) -> None: num_abstract = 0 if not defn.items: # In this case we have already complained about none of these being @@ -481,11 +482,12 @@ def _visit_overloaded_func_def(self, defn: OverloadedFuncDef) -> None: if defn.is_property: # HACK: Infer the type of the property. self.visit_decorator(cast(Decorator, defn.items[0])) - for fdef in defn.items: - assert isinstance(fdef, Decorator) - self.check_func_item(fdef.func, name=fdef.func.name) - if fdef.func.is_abstract: - num_abstract += 1 + if do_items: + for fdef in defn.items: + assert isinstance(fdef, Decorator) + self.check_func_item(fdef.func, name=fdef.func.name) + if fdef.func.is_abstract: + num_abstract += 1 if num_abstract not in (0, len(defn.items)): self.fail(message_registry.INCONSISTENT_ABSTRACT_OVERLOAD, defn) if defn.impl: @@ -784,6 +786,105 @@ def get_generator_return_type(self, return_type: Type, is_coroutine: bool) -> Ty def visit_func_def(self, defn: FuncDef) -> None: if not self.recurse_into_functions: return + # If possible, transform def into an overload from super information + # This is intentionally disabled for now (it should be moved to semanal I think) + # if defn.info and not defn.is_overload and ( + # # if it's fully annotated then we allow the invalid override + # not (defn.type and isinstance(defn.type, CallableType) and defn.type.fully_typed) + # or not defn.unanalyzed_type + # + # or (defn.unanalyzed_type and isinstance(defn.unanalyzed_type, CallableType) and ( + # is_unannotated_any(defn.unanalyzed_type.ret_type) + # or any(is_unannotated_any(typ) for typ in defn.unanalyzed_type.arg_types[1:]) + # )) + # ) and self.options.infer_function_types: + # for base in defn.info.mro[1:]: + # super_ = base.names.get(defn.name) + # if not super_ or not isinstance(super_.node, OverloadedFuncDef): + # continue + # super_type = get_proper_type(super_.type) + # assert isinstance(super_type, Overloaded) + # if super_.node.impl: + # super_types = { + # arg: arg_type + # for arg, arg_type in zip( + # ( + # super_.node.impl + # if isinstance(super_.node.impl, FuncDef) + # else super_.node.impl.func + # ).arg_names, + # cast(CallableType, super_.node.impl.type).arg_types, + # ) + # } + # else: + # super_types = {} + # item_arg_types: Dict[str, List[Type]] = defaultdict(list) + # item_ret_types = [] + # for item in super_.node.items: + # assert isinstance(item, Decorator) + # if not isinstance(item.func.type, CallableType): + # continue + # for arg, arg_type in zip(item.func.arg_names, item.func.type.arg_types): + # if not arg: + # continue + # if arg not in super_types and arg in defn.arg_names: + # if arg_type not in item_arg_types[arg]: + # item_arg_types[arg].append(arg_type) + # if item.func.type.ret_type not in item_ret_types: + # item_ret_types.append(item.func.type.ret_type) + # super_types.update({ + # arg: UnionType.make_union(arg_type) for arg, arg_type in item_arg_types.items() + # }) + # any_ = UntypedType() + # if defn.unanalyzed_type and super_.node.impl: + # assert isinstance(defn.unanalyzed_type, CallableType) + # assert isinstance(defn.type, CallableType) + # t = get_proper_type(super_.node.impl.type) + # assert isinstance(t, CallableType) + # ret_type = ( + # defn.type.ret_type + # if not is_unannotated_any(defn.unanalyzed_type.ret_type) + # else t.ret_type + # ) + # elif super_.node.impl: + # t = get_proper_type(super_.node.impl.type) + # assert isinstance(t, CallableType) + # ret_type = t.ret_type + # elif item_ret_types: + # ret_type = UnionType.make_union(item_ret_types) + # else: + # ret_type = any_ + # if not defn.type: + # defn.type = self.function_type(defn) + # assert isinstance(defn.type, CallableType) + # arg_types = [defn.type.arg_types[0]] + # if defn.unanalyzed_type: + # assert isinstance(defn.unanalyzed_type, CallableType) + # arg_types.extend([ + # arg_type + # if not is_unannotated_any(unanalyzed) + # else super_types.get(arg, any_) + # for arg, arg_type, unanalyzed in zip( + # defn.arg_names[1:], + # defn.type.arg_types[1:], + # defn.unanalyzed_type.arg_types[1:] + # ) + # ]) + # else: + # arg_types.extend([super_types.get(arg, any_) for arg in defn.arg_names[1:]]) + # defn.type = defn.type.copy_modified(arg_types=arg_types, ret_type=ret_type) + # new = OverloadedFuncDef(super_.node.items) + # # the TypeInfo isn't set on each part, but idc + # new.info = defn.info + # new.impl = defn + # new.type = Overloaded([item.copy_modified() for item in super_type.items]) + # if not defn.is_static: + # for new_item in new.type.items: + # new_item.arg_types[0] = defn.type.arg_types[0] + # defn.is_overload = True + # self.visit_overloaded_func_def(new, do_items=False) + # defn.type = new.type + # return with self.tscope.function_scope(defn): self._visit_func_def(defn) @@ -870,6 +971,83 @@ def enter_attribute_inference_context(self) -> Iterator[None]: def check_func_def(self, defn: FuncItem, typ: CallableType, name: Optional[str]) -> None: """Type check a function definition.""" + + # Infer argument types from base class + # This is disabled for now. + # if defn.info and self.options.infer_function_types and not ( + # defn.type and isinstance(defn.type, CallableType) and defn.type.fully_typed + # ): + # for base in defn.info.mro[1:]: + # super_ = base.names.get(defn.name) + # if not super_ or not super_.type: + # continue + # super_type = get_proper_type(super_.type) + # if not isinstance(super_type, CallableType): + # continue + # + # arg_types: List[Type] = [] + # for arg_i, arg_name in enumerate(defn.arg_names): + # # skip self/class + # if arg_i == 0 and not defn.is_static: + # arg_types.append(typ.arg_types[0]) + # continue + # if ( + # isinstance(defn.type, CallableType) + # and not isinstance(get_proper_type(defn.type.arg_types[arg_i]), AnyType) + # ): + # continue + # if arg_name in super_type.arg_names: + # super_i = super_type.arg_names.index(arg_name) + # if defn.type: + # assert isinstance(defn.type, CallableType) + # defn.type.arg_types[arg_i] = super_type.arg_types[super_i] + # else: + # arg_types.append(super_type.arg_types[super_i]) + # elif not defn.type: + # arg_types.append(UntypedType()) + # + # if defn.type: + # assert isinstance(defn.type, CallableType) + # if self.options.default_return and isinstance(get_proper_type( + # defn.type.ret_type), NoneType + # ): + # if defn.unanalyzed_type: + # assert isinstance(defn.unanalyzed_type, CallableType) + # if is_unannotated_any(get_proper_type(defn.unanalyzed_type.ret_type)): + # defn.type.ret_type = super_type.ret_type + # else: + # defn.type.ret_type = super_type.ret_type + # + # if is_unannotated_any(get_proper_type(defn.type.ret_type)): + # defn.type.ret_type = super_type.ret_type + # else: + # typ = defn.type = CallableType( + # arg_types, + # defn.arg_kinds, + # defn.arg_names, + # super_type.ret_type + # if defn.name != "__new__" + # else fill_typevars_with_any(defn.info), + # self.named_type('builtins.function')) + # break + + # Infer argument types from default values, + # The issue is that we need to get the type before other nodes are evaluated. + # perhaps if the arg has a default, we could mark it as 'InferableType', and if something + # encounters that type, then defer it. + # if self.options.infer_function_types and not typ.fully_typed: + # arg_types = [] + # for arg, arg_type in zip(defn.arguments, typ.arg_types): + # if arg.initializer and is_unannotated_any(arg_type): + # arg_types.append(self.expr_checker.accept(arg.initializer)) + # else: + # arg_types.append(arg_type) + # typ = typ.copy_modified(arg_types=arg_types) + # defn.type = typ + + if not defn.is_dynamic(): + self.dynamic_funcs[-1] = False + # Expand type variables with value restrictions to ordinary types. expanded = self.expand_typevars(defn, typ) for item, typ in expanded: @@ -919,7 +1097,9 @@ def check_func_def(self, defn: FuncItem, typ: CallableType, name: Optional[str]) if isinstance(typ.ret_type, TypeVarType): if typ.ret_type.variance == CONTRAVARIANT: self.fail(message_registry.RETURN_TYPE_CANNOT_BE_CONTRAVARIANT, - typ.ret_type) + typ.ret_type, + code=codes.UNSAFE_VARIANCE, + ) self.check_unbound_return_typevar(typ) # Check that Generator functions have the appropriate return type. @@ -1009,7 +1189,11 @@ def check_func_def(self, defn: FuncItem, typ: CallableType, name: Optional[str]) ctx: Context = arg_type if ctx.line < 0: ctx = typ - self.fail(message_registry.FUNCTION_PARAMETER_CANNOT_BE_COVARIANT, ctx) + self.fail( + message_registry.FUNCTION_PARAMETER_CANNOT_BE_COVARIANT, + ctx, + code=codes.UNSAFE_VARIANCE, + ) if typ.arg_kinds[i] == nodes.ARG_STAR: if not isinstance(arg_type, ParamSpecType): # builtins.tuple[T] is typing.Tuple[T, ...] @@ -1110,21 +1294,18 @@ def is_reverse_op_method(self, method_name: str) -> bool: def check_for_missing_annotations(self, fdef: FuncItem) -> None: # Check for functions with unspecified/not fully specified types. - def is_unannotated_any(t: Type) -> bool: - if not isinstance(t, ProperType): - return False - return isinstance(t, AnyType) and t.type_of_any == TypeOfAny.unannotated has_explicit_annotation = (isinstance(fdef.type, CallableType) and any(not is_unannotated_any(t) for t in fdef.type.arg_types + [fdef.type.ret_type])) - + if fdef.type and fdef.is_dynamic(): + return show_untyped = not self.is_typeshed_stub or self.options.warn_incomplete_stub check_incomplete_defs = self.options.disallow_incomplete_defs and has_explicit_annotation if show_untyped and (self.options.disallow_untyped_defs or check_incomplete_defs): if fdef.type is None and self.options.disallow_untyped_defs: if (not fdef.arguments or (len(fdef.arguments) == 1 and - (fdef.arg_names[0] == 'self' or fdef.arg_names[0] == 'cls'))): + (fdef.arg_names[0] in ('self', 'cls')))): self.fail(message_registry.RETURN_TYPE_EXPECTED, fdef) if not has_return_statement(fdef) and not fdef.is_generator: self.note('Use "-> None" if function does not return a value', fdef, @@ -2242,6 +2423,21 @@ def is_raising_or_empty(self, s: Statement) -> bool: return True return False + def check_assignment_for_untyped(self, lvalues: List[Lvalue]): + for l in lvalues: + if isinstance(l, TupleExpr): + self.check_assignment_for_untyped(l.items) + elif isinstance(l, (NameExpr, MemberExpr)): + t = get_proper_type(self._type_maps[0].get(l)) + if not t: + # No type? it's either deferred or can't be inferred (handled elsewhere) + continue + if is_unannotated_any(t) or isinstance(t, UntypedType): + self.msg.untyped_name_usage(l.name, l) + elif isinstance(l, IndexExpr): + if not l.method_type or has_untyped_type(l.method_type): + self.msg.untyped_indexed_assignment(l) + def visit_assignment_stmt(self, s: AssignmentStmt) -> None: """Type check an assignment statement. @@ -2253,7 +2449,6 @@ def visit_assignment_stmt(self, s: AssignmentStmt) -> None: if not (s.is_alias_def and self.is_stub): with self.enter_final_context(s.is_final_def): self.check_assignment(s.lvalues[-1], s.rvalue, s.type is None, s.new_syntax) - if s.is_alias_def: self.check_type_alias_rvalue(s) @@ -2283,6 +2478,11 @@ def visit_assignment_stmt(self, s: AssignmentStmt) -> None: if (s.is_final_def and s.type and not has_no_typevars(s.type) and self.scope.active_class() is not None): self.fail(message_registry.DEPENDENT_FINAL_IN_CLASS_BODY, s) + if ( + not self.current_node_deferred + and self.options.disallow_untyped_calls and not isinstance(s.rvalue, TempNode) + ): + self.check_assignment_for_untyped(s.lvalues) def check_type_alias_rvalue(self, s: AssignmentStmt) -> None: if not (self.is_stub and isinstance(s.rvalue, OpExpr) and s.rvalue.op == '|'): @@ -3351,6 +3551,23 @@ def check_simple_assignment(self, lvalue_type: Optional[Type], rvalue: Expressio self.check_subtype(rvalue_type, lvalue_type, context, msg, f'{rvalue_name} has type', f'{lvalue_name} has type', code=code) + if not self.current_node_deferred and isinstance(rvalue, (NameExpr, MemberExpr)): + if ( + self.options.disallow_untyped_calls + and isinstance(rvalue_type, UntypedType) + ): + self.msg.untyped_name_usage(rvalue.name, rvalue) + elif self.options.disallow_any_expr and isinstance(rvalue_type, AnyType): + # TODO: this could probably be extracted to a common call + if self.options.ignore_any_from_error and ( + rvalue_type.type_of_any == TypeOfAny.from_error + or rvalue_type.type_of_any == TypeOfAny.from_another_any + and rvalue_type.source_any + and rvalue_type.source_any.type_of_any == TypeOfAny.from_error + ): + pass + else: + self.msg.disallowed_any_type(rvalue_type, rvalue) return rvalue_type def check_member_assignment(self, instance_type: Type, attribute_type: Type, @@ -3549,7 +3766,10 @@ def check_return_stmt(self, s: ReturnStmt) -> None: if isinstance(return_type, UninhabitedType): self.fail(message_registry.NO_RETURN_EXPECTED, s) return - + # We pretend the return type is Any here so that we don't report errors in partially + # inferred functions + if defn.is_dynamic() and not self.options.check_untyped_defs: + return_type = AnyType(TypeOfAny.unannotated) if s.expr: is_lambda = isinstance(self.scope.top_function(), LambdaExpr) declared_none_return = isinstance(return_type, NoneType) @@ -4001,7 +4221,10 @@ def visit_del_stmt(self, s: DelStmt) -> None: c.column = s.column self.expr_checker.accept(c, allow_none_return=True) else: - s.expr.accept(self.expr_checker) + if not self.current_node_deferred: + t = get_proper_type(s.expr.accept(self.expr_checker)) + if isinstance(t, UntypedType) and isinstance(s.expr, (NameExpr, MemberExpr)): + self.msg.untyped_name_usage(s.expr.name, s.expr) for elt in flatten(s.expr): if isinstance(elt, NameExpr): self.binder.assign_type(elt, DeletedType(source=elt.name), @@ -4014,7 +4237,6 @@ def visit_decorator(self, e: Decorator) -> None: e.var.type = AnyType(TypeOfAny.special_form) e.var.is_ready = True return - if self.recurse_into_functions: with self.tscope.function_scope(e.func): self.check_func_item(e.func, name=e.func.name) @@ -4054,6 +4276,19 @@ def visit_decorator(self, e: Decorator) -> None: if e.func.info and e.func.name in ('__init__', '__new__'): if e.type and not isinstance(get_proper_type(e.type), (FunctionLike, AnyType)): self.fail(message_registry.BAD_CONSTRUCTOR_TYPE, e) + # detect default_return and warn against it + # This isn't perfect, as None return could come from inheritance, but who cares + if ( + self.options.disallow_untyped_defs and e.var.is_property + and isinstance(e.func.type, CallableType) + ): + if isinstance( + get_proper_type(e.func.type.ret_type), NoneType + ) and (not e.func.unanalyzed_type or (isinstance(e.func.unanalyzed_type, CallableType) + and is_unannotated_any(e.func.unanalyzed_type.ret_type)) + ): + self.fail("Property is missing a type annotation", + e.func, code=codes.NO_UNTYPED_DEF) def check_for_untyped_decorator(self, func: FuncDef, @@ -5600,11 +5835,11 @@ def fixup_partial_type(self, typ: Type) -> Type: if not isinstance(typ, PartialType): return typ if typ.type is None: - return UnionType.make_union([AnyType(TypeOfAny.unannotated), NoneType()]) + return UnionType.make_union([UntypedType(), NoneType()]) else: return Instance( typ.type, - [AnyType(TypeOfAny.unannotated)] * len(typ.type.type_vars)) + [UntypedType()] * len(typ.type.type_vars)) def is_defined_in_base_class(self, var: Var) -> bool: if var.info: diff --git a/mypy/checkexpr.py b/mypy/checkexpr.py index 055aba8de..80389687d 100644 --- a/mypy/checkexpr.py +++ b/mypy/checkexpr.py @@ -21,7 +21,7 @@ PartialType, DeletedType, UninhabitedType, TypeType, TypeOfAny, LiteralType, LiteralValue, is_named_instance, FunctionLike, ParamSpecType, ParamSpecFlavor, StarType, is_optional, remove_optional, is_generic_instance, get_proper_type, ProperType, - get_proper_types, flatten_nested_unions, LITERAL_TYPE_NAMES, + get_proper_types, flatten_nested_unions, LITERAL_TYPE_NAMES, UntypedType, ) from mypy.nodes import ( AssertTypeExpr, NameExpr, RefExpr, Var, FuncDef, OverloadedFuncDef, TypeInfo, CallExpr, @@ -355,9 +355,76 @@ def visit_call_expr_inner(self, e: CallExpr, allow_none_return: bool = False) -> callee_type = get_proper_type(self.accept(e.callee, type_context, always_allow_any=True)) if (self.chk.options.disallow_untyped_calls and self.chk.in_checked_function() and - isinstance(callee_type, CallableType) - and callee_type.implicit): - self.msg.untyped_function_call(callee_type, e) + isinstance(callee_type, CallableType)): + if callee_type.implicit: + self.msg.untyped_function_call(callee_type, e) + elif has_untyped_type(callee_type): + # Get module of the function, to get its settings + # This is fairly sus, and I'm sure there are cases where it gets + # the wrong module. We should instead set it in CallableType + if isinstance(e.callee, MemberExpr): + if e.callee.kind is None: + # class, kinda hacky + it = get_proper_type(self.chk._type_maps[0][e.callee.expr]) + if isinstance(it, CallableType): + # callable class reference + ret_type_ = get_proper_type(it.ret_type) + if isinstance(ret_type_, TupleType): + callee_module = ret_type_.partial_fallback.type.module_name + elif isinstance(ret_type_, Instance): + callee_module = ret_type_.type.module_name + else: + callee_module = None + elif isinstance(it, TypeType): + # type reference + if isinstance(it.item, TupleType): + callee_module = it.item.partial_fallback.type.module_name + elif isinstance(it.item, Instance): + callee_module = it.item.type.module_name + elif isinstance(it.item, UnionType): + # TODO: have to figure out which part of the union has the Untyped + callee_module = self.chk.tree.name + else: + callee_module = None + elif isinstance(it, Instance): + # instance reference + callee_module = it.type.module_name + elif isinstance(it, UnionType): + # TODO: have to figure out which part of the union has the Untyped + callee_module = self.chk.tree.name + else: + callee_module = None + else: + # module + assert isinstance(e.callee.expr, RefExpr) + callee_module = e.callee.expr.fullname + elif isinstance(e.callee, NameExpr): + assert e.callee.fullname + if "." not in e.callee.fullname: + # local def + callee_module = self.chk.tree.name + else: + callee_module = e.callee.fullname.rpartition(".")[0] + elif isinstance(e.callee, MemberExpr) and isinstance(e.callee.expr, NameExpr): + if e.callee.expr.fullname: + callee_module = e.callee.expr.fullname.rpartition(".")[0] + elif e.callee.name == "__init_subclass__": + t = get_proper_type(callee_type.bound_args[0]) + assert isinstance(t, TypeType) + assert isinstance(t.item, Instance) + assert isinstance(t.item.type, TypeInfo) + callee_module = t.item.type.module_name + else: + # TODO: test time error + callee_module = None + else: + # If this branch gets hit then look for a new way to get the module name + # TODO: test time error + callee_module = None + if callee_module: + callee_options = self.chk.options.per_module(callee_module) + if not callee_options.incomplete_is_typed: + self.msg.partially_typed_function_call(callee_type, e) # Figure out the full name of the callee for plugin lookup. object_type = None @@ -1303,7 +1370,7 @@ def infer_function_type_arguments(self, callee_type: CallableType, else: # In dynamically typed functions use implicit 'Any' types for # type variables. - inferred_args = [AnyType(TypeOfAny.unannotated)] * len(callee_type.variables) + inferred_args = [UntypedType()] * len(callee_type.variables) return self.apply_inferred_arguments(callee_type, inferred_args, context) @@ -2045,7 +2112,9 @@ def apply_generic_arguments(self, callable: CallableType, types: Sequence[Option def check_any_type_call(self, args: List[Expression], callee: Type) -> Tuple[Type, Type]: self.infer_arg_types_in_empty_context(args) callee = get_proper_type(callee) - if isinstance(callee, AnyType): + if isinstance(callee, UntypedType): + return UntypedType(), UntypedType() + elif isinstance(callee, AnyType): return (AnyType(TypeOfAny.from_another_any, source_any=callee), AnyType(TypeOfAny.from_another_any, source_any=callee)) else: @@ -3709,7 +3778,7 @@ def _super_arg_types(self, e: SuperExpr) -> Union[Type, Tuple[Type, Type]]: """ if not self.chk.in_checked_function(): - return AnyType(TypeOfAny.unannotated) + return UntypedType() elif len(e.call.args) == 0: if self.chk.options.python_version[0] == 2: self.chk.fail(message_registry.TOO_FEW_ARGS_FOR_SUPER, e) @@ -4009,10 +4078,12 @@ def accept(self, not always_allow_any and not self.chk.is_stub and self.chk.in_checked_function() and - has_any_type(typ) and not self.chk.current_node_deferred): + has_any_type(typ, ignore_any_from_error=self.chk.options.ignore_any_from_error) and + not self.chk.current_node_deferred): self.msg.disallowed_any_type(typ, node) if not self.chk.in_checked_function() or self.chk.current_node_deferred: + # this is more of a placeholder I think return AnyType(TypeOfAny.unannotated) else: return typ @@ -4291,17 +4362,31 @@ def narrow_type_from_binder(self, expr: Expression, known_type: Type, return known_type -def has_any_type(t: Type, ignore_in_type_obj: bool = False) -> bool: +def has_any_type( + t: Type, ignore_in_type_obj: bool = False, ignore_any_from_error: bool = False +) -> bool: """Whether t contains an Any type""" - return t.accept(HasAnyType(ignore_in_type_obj)) + return t.accept(HasAnyType(ignore_in_type_obj, ignore_any_from_error=ignore_any_from_error)) + + +def has_untyped_type(t: Type, ignore_in_type_obj: bool = False) -> bool: + """Whether ``t`` contains an untyped type""" + return t.accept(HasUntypedType()) class HasAnyType(types.TypeQuery[bool]): - def __init__(self, ignore_in_type_obj: bool) -> None: + def __init__(self, ignore_in_type_obj: bool, ignore_any_from_error: bool = False) -> None: super().__init__(any) self.ignore_in_type_obj = ignore_in_type_obj + self.ignore_any_from_error = ignore_any_from_error def visit_any(self, t: AnyType) -> bool: + if self.ignore_any_from_error and ( + t.type_of_any == TypeOfAny.from_error or + (t.type_of_any == TypeOfAny.from_another_any and + t.source_any and t.source_any.type_of_any == TypeOfAny.from_error) + ): + return False return t.type_of_any != TypeOfAny.special_form # special forms are not real Any types def visit_callable_type(self, t: CallableType) -> bool: @@ -4310,6 +4395,15 @@ def visit_callable_type(self, t: CallableType) -> bool: return super().visit_callable_type(t) +class HasUntypedType(types.TypeQuery[bool]): + def __init__(self) -> None: + super().__init__(any) + + def visit_any(self, t: AnyType) -> bool: + return isinstance(t, UntypedType) or t.type_of_any in ( + TypeOfAny.unannotated, TypeOfAny.from_omitted_generics) + + def has_coroutine_decorator(t: Type) -> bool: """Whether t came from a function decorated with `@coroutine`.""" t = get_proper_type(t) diff --git a/mypy/checkmember.py b/mypy/checkmember.py index 2172361ea..bb259959c 100644 --- a/mypy/checkmember.py +++ b/mypy/checkmember.py @@ -7,7 +7,7 @@ Type, Instance, AnyType, TupleType, TypedDictType, CallableType, FunctionLike, TypeVarLikeType, Overloaded, TypeVarType, UnionType, PartialType, TypeOfAny, LiteralType, DeletedType, NoneType, TypeType, has_type_vars, get_proper_type, ProperType, ParamSpecType, - ENUM_REMOVED_PROPS + ENUM_REMOVED_PROPS, UntypedType ) from mypy.nodes import ( TypeInfo, FuncBase, Var, FuncDef, SymbolNode, SymbolTable, Context, @@ -145,6 +145,9 @@ def _analyze_member_access(name: str, typ = get_proper_type(typ) if isinstance(typ, Instance): return analyze_instance_member_access(name, typ, mx, override_info) + elif isinstance(typ, UntypedType): + # The base object isn't typed. + return UntypedType() elif isinstance(typ, AnyType): # The base object has dynamic type. return AnyType(TypeOfAny.from_another_any, source_any=typ) diff --git a/mypy/defaults.py b/mypy/defaults.py index dc9e49c2e..fa613b99e 100644 --- a/mypy/defaults.py +++ b/mypy/defaults.py @@ -6,6 +6,7 @@ PYTHON3_VERSION: Final = (3, 6) PYTHON3_VERSION_MIN: Final = (3, 4) CACHE_DIR: Final = ".mypy_cache" +BASELINE_FILE: Final = ".mypy/baseline.json" CONFIG_FILE: Final = ["mypy.ini", ".mypy.ini"] PYPROJECT_CONFIG_FILES: Final = [ "pyproject.toml", diff --git a/mypy/dmypy/client.py b/mypy/dmypy/client.py index 3ed85dca9..41bb92fcc 100644 --- a/mypy/dmypy/client.py +++ b/mypy/dmypy/client.py @@ -21,7 +21,7 @@ from mypy.dmypy_os import alive, kill from mypy.util import check_python_version, get_terminal_width -from mypy.version import __version__ +from mypy.version import __based_version__, __version__ # Argument parser. Subparsers are tied to action functions by the # @action(subparse) decorator. @@ -39,7 +39,8 @@ def __init__(self, prog: str) -> None: parser.add_argument('--status-file', default=DEFAULT_STATUS_FILE, help='status file to retrieve daemon details') parser.add_argument('-V', '--version', action='version', - version='%(prog)s ' + __version__, + version=f'Basedmypy Daemon {__based_version__}\n' + f'Based on %(prog)s {__version__}', help="Show program's version number and exit") subparsers = parser.add_subparsers() @@ -270,12 +271,12 @@ def do_run(args: argparse.Namespace) -> None: # Bad or missing status file or dead process; good to start. start_server(args, allow_sources=True) t0 = time.time() - response = request(args.status_file, 'run', version=__version__, args=args.flags) + response = request(args.status_file, 'run', version=__based_version__, args=args.flags) # If the daemon signals that a restart is necessary, do it if 'restart' in response: print(f"Restarting: {response['restart']}") restart_server(args, allow_sources=True) - response = request(args.status_file, 'run', version=__version__, args=args.flags) + response = request(args.status_file, 'run', version=__based_version__, args=args.flags) t1 = time.time() response['roundtrip_time'] = t1 - t0 diff --git a/mypy/dmypy_os.py b/mypy/dmypy_os.py index 1405e0a30..7c3c995d7 100644 --- a/mypy/dmypy_os.py +++ b/mypy/dmypy_os.py @@ -11,7 +11,8 @@ kernel32 = ctypes.windll.kernel32 OpenProcess: Callable[[DWORD, int, int], HANDLE] = kernel32.OpenProcess - GetExitCodeProcess: Callable[[HANDLE, Any], int] = kernel32.GetExitCodeProcess + GetExitCodeProcess: Callable[[HANDLE, Any], int] = kernel32.GetExitCodeProcess # type: ignore[no-any-explicit, unused-ignore] # noqa: E501 + else: import os import signal diff --git a/mypy/dmypy_server.py b/mypy/dmypy_server.py index 3fbda6b1a..ffb12c1c6 100644 --- a/mypy/dmypy_server.py +++ b/mypy/dmypy_server.py @@ -32,7 +32,7 @@ from mypy.options import Options from mypy.suggestions import SuggestionFailure, SuggestionEngine from mypy.typestate import reset_global_state -from mypy.version import __version__ +from mypy.version import __based_version__ from mypy.util import FancyFormatter, count_stats MEM_PROFILE: Final = False # If True, dump memory profile after initialization @@ -315,7 +315,7 @@ def cmd_run(self, version: str, args: Sequence[str], # Signal that we need to restart if the options have changed if self.options_snapshot != options.snapshot(): return {'restart': 'configuration changed'} - if __version__ != version: + if __based_version__ != version: return {'restart': 'mypy version changed'} if self.fine_grained_manager: manager = self.fine_grained_manager.manager @@ -886,7 +886,7 @@ def get_meminfo() -> Dict[str, Any]: res['memory_rss_mib'] = meminfo.rss / MiB res['memory_vms_mib'] = meminfo.vms / MiB if sys.platform == 'win32': - res['memory_maxrss_mib'] = meminfo.peak_wset / MiB + res['memory_maxrss_mib'] = meminfo.peak_wset / MiB # type: ignore[no-any-expr, unused-ignore] # noqa: E501 else: # See https://stackoverflow.com/questions/938733/total-memory-used-by-python-process import resource # Since it doesn't exist on Windows. diff --git a/mypy/errorcodes.py b/mypy/errorcodes.py index e237e818e..26ffc8e6f 100644 --- a/mypy/errorcodes.py +++ b/mypy/errorcodes.py @@ -110,6 +110,12 @@ def __str__(self) -> str: "Disallow calling functions without type annotations from annotated functions", "General", ) +NO_UNTYPED_USAGE: Final = ErrorCode( + "no-untyped-usage", + "Disallow using members without type annotations", + "General", + default_enabled=False, +) REDUNDANT_CAST: Final = ErrorCode( "redundant-cast", "Check that cast changes type of expression", "General" ) @@ -159,7 +165,16 @@ def __str__(self) -> str: "General", default_enabled=False, ) +UNSAFE_VARIANCE: Final = ErrorCode("unsafe-variance", "Incorrect usages of variance", "General") +UNUSED_IGNORE: Final = ErrorCode("unused-ignore", "Ignore comment is unused", "General") + +NO_ANY_EXPR: Final = ErrorCode("no-any-expr", "An expression contains Any", "General") +NO_ANY_EXPLICIT: Final = ErrorCode("no-any-explicit", "Usage of the Any type", "General") +NO_SUBCLASS_ANY: Final = ErrorCode("no-subclass-any", "Usage of Any as a class base", "General") +NO_ANY_DECORATED: Final = ErrorCode( + "no-any-decorated", "Decorated function contains Any", "General") +REVEAL: Final = ErrorCode("reveal", "Reveal types at check time", "General") # Syntax errors are often blocking. SYNTAX: Final = ErrorCode("syntax", "Report syntax errors", "General") diff --git a/mypy/errors.py b/mypy/errors.py index 0ad56b079..53944bfc6 100644 --- a/mypy/errors.py +++ b/mypy/errors.py @@ -1,16 +1,18 @@ import os.path +import re import sys import traceback +from copy import deepcopy from mypy.backports import OrderedDict from collections import defaultdict -from typing import Tuple, List, TypeVar, Set, Dict, Optional, TextIO, Callable, Union -from typing_extensions import Final, Literal, NoReturn +from typing import Tuple, List, TypeVar, Set, Dict, Optional, TextIO, Callable, Union, cast +from typing_extensions import Final, Literal, NoReturn, TypedDict from mypy.scope import Scope from mypy.options import Options -from mypy.version import __version__ as mypy_version +from mypy.version import __based_version__ as basedmypy_version from mypy.errorcodes import ErrorCode, IMPORT from mypy.message_registry import ErrorMessage from mypy import errorcodes as codes @@ -22,7 +24,13 @@ # Keep track of the original error code when the error code of a message is changed. # This is used to give notes about out-of-date "type: ignore" comments. -original_error_codes: Final = {codes.LITERAL_REQ: codes.MISC} +original_error_codes: Final = { + codes.LITERAL_REQ: codes.MISC, + codes.NO_ANY_EXPR: codes.MISC, + codes.NO_ANY_EXPLICIT: codes.MISC, + codes.NO_SUBCLASS_ANY: codes.MISC, + codes.NO_ANY_DECORATED: codes.MISC, +} class ErrorInfo: @@ -79,6 +87,9 @@ class ErrorInfo: # by mypy daemon) hidden = False + # Any note messages that are associated with this error + notes: List['ErrorInfo'] + def __init__(self, import_ctx: List[Tuple[str, int]], file: str, @@ -110,6 +121,7 @@ def __init__(self, self.allow_dups = allow_dups self.origin = origin or (file, line, line) self.target = target + self.notes = [] # Type used internally to represent errors: @@ -175,6 +187,33 @@ def filtered_errors(self) -> List[ErrorInfo]: return self._filtered +class StoredBaselineError(TypedDict): + """Structure of an error while stored in a 1.3 baseline""" + code: Optional[str] + column: int + message: str + offset: int + target: Optional[str] + + +class BaselineError(TypedDict): + code: Optional[str] + column: int + line: int + message: str + target: Optional[str] + + +class UnknownBaselineError(TypedDict, total=False): + """Could be a 1.2 or a 1.3 error""" + code: Optional[str] + column: int + line: int + message: str + offset: int + target: Optional[str] + + class Errors: """Container for compile errors. @@ -236,6 +275,14 @@ class Errors: _watchers: List[ErrorWatcher] = [] + # Error baseline + original_baseline: Dict[str, List[UnknownBaselineError]] + baseline: Dict[str, List[BaselineError]] + # baseline metadata + baseline_targets: List[str] + # All detected errors before baseline filter + all_errors: Dict[str, List[ErrorInfo]] + def __init__(self, show_error_context: bool = False, show_column_numbers: bool = False, @@ -260,6 +307,10 @@ def __init__(self, def initialize(self) -> None: self.error_info_map = OrderedDict() + self.all_errors = {} + self.original_baseline = {} + self.baseline = {} + self.baseline_targets = [] self.flushed_files = set() self.import_ctx = [] self.function_or_member = [None] @@ -290,6 +341,11 @@ def simplify_path(self, file: str) -> str: file = os.path.normpath(file) return remove_path_prefix(file, self.ignore_prefix) + def common_path(self, file: str) -> str: + """Convert path to a cross platform standard for use with baseline""" + file = os.path.normpath(file) + return remove_path_prefix(file, self.ignore_prefix).replace("\\", "/") + def set_file(self, file: str, module: Optional[str], scope: Optional[Scope] = None) -> None: @@ -343,7 +399,8 @@ def report(self, allow_dups: bool = False, origin_line: Optional[int] = None, offset: int = 0, - end_line: Optional[int] = None) -> None: + end_line: Optional[int] = None, + notes: Optional[List[str]] = None) -> None: """Report message at the given line using the current error context. Args: @@ -389,6 +446,14 @@ def report(self, origin=(self.file, origin_line, end_line), target=self.current_target()) self.add_error_info(info) + for msg in notes or (): + note = ErrorInfo( + info.import_ctx, info.file, info.module, info.type, info.function_or_member, + info.line, info.column, 'note', msg, + code=info.code, blocker=False, only_once=False, allow_dups=False + ) + self.add_error_info(note) + info.notes.append(note) def _add_error_info(self, file: str, info: ErrorInfo) -> None: assert file not in self.flushed_files @@ -473,6 +538,7 @@ def add_error_info(self, info: ErrorInfo) -> None: info.line, info.column, 'note', msg, code=None, blocker=False, only_once=False, allow_dups=False ) + info.notes.append(note) self._add_error_info(file, note) def has_many_errors(self) -> bool: @@ -556,6 +622,8 @@ def generate_unused_ignore_errors(self, file: str) -> None: ignored_lines = self.ignored_lines[file] used_ignored_lines = self.used_ignored_lines[file] for line, ignored_codes in ignored_lines.items(): + if "unused-ignore" in ignored_codes: + continue used_ignored_codes = used_ignored_lines[line] unused_ignored_codes = set(ignored_codes) - set(used_ignored_codes) # `ignore` is used @@ -572,7 +640,7 @@ def generate_unused_ignore_errors(self, file: str) -> None: # Don't use report since add_error_info will ignore the error! info = ErrorInfo(self.import_context(), file, self.current_module(), None, None, line, -1, 'error', message, - None, False, False, False) + codes.UNUSED_IGNORE, False, False, False) self._add_error_info(file, info) def generate_ignore_without_code_errors(self, @@ -692,7 +760,7 @@ def format_messages(self, error_info: List[ErrorInfo], a.append(' ' * (DEFAULT_SOURCE_OFFSET + column) + '^') return a - def file_messages(self, path: str) -> List[str]: + def file_messages(self, path: str, all_errors: bool = False) -> List[str]: """Return a string list of new error messages from a given file. Use a form suitable for displaying to the user. @@ -704,6 +772,8 @@ def file_messages(self, path: str) -> List[str]: if self.pretty: assert self.read_source source_lines = self.read_source(path) + if all_errors: + return self.format_messages(self.all_errors[path], source_lines) return self.format_messages(self.error_info_map[path], source_lines) def new_messages(self) -> List[str]: @@ -865,6 +935,105 @@ def remove_duplicates(self, errors: List[ErrorTuple]) -> List[ErrorTuple]: i += 1 return res + def initialize_baseline( + self, errors: Dict[str, List[UnknownBaselineError]], + targets: List[str], baseline_format: str + ) -> None: + """Initialize the baseline properties""" + self.original_baseline = deepcopy(errors) + if baseline_format == "1.3": + for file in errors.values(): + previous = 0 + for error in file: + previous = error["line"] = error["offset"] + previous + baseline_errors = cast(Dict[str, List[BaselineError]], errors) + self.baseline = baseline_errors + self.baseline_targets = targets + + def prepare_baseline_errors(self, baseline_format: str) -> Dict[ + str, List[UnknownBaselineError] + ]: + """Create a dict representing the error portion of an error baseline file""" + result: Dict[str, List[UnknownBaselineError]] = { + self.common_path(file): [ + { + "code": error.code.code if error.code else None, + "column": error.column, + "line": error.line, + "message": error.message, + "target": error.target, + } for error in self.sort_messages(errors) + # don't store reveal errors + if error.code != codes.REVEAL + ] + for file, errors in self.all_errors.items() + } + if baseline_format == "1.3": + for file in result.values(): + previous = 0 + for error in file: + error["offset"] = error["line"] - previous + previous = error["line"] + del error["line"] + return result + + def filter_baseline(self, path: str) -> None: + """Remove baseline errors from the error_info_map""" + if path not in self.error_info_map: + return + if path not in self.all_errors: + self.all_errors[path] = self.error_info_map[path] + baseline_errors = self.baseline.get(self.common_path(path)) + if not baseline_errors: + return + new_errors = [] + ignored_notes = [] + # first pass for exact matches + for error in self.sort_messages(self.error_info_map[path]): + if error.code == codes.REVEAL: + new_errors.append(error) + continue + if id(error) in ignored_notes: + continue + for i, baseline_error in enumerate(baseline_errors): + if ( + error.line == baseline_error["line"] and + clean_baseline_message(error.message) == + clean_baseline_message(baseline_error["message"]) + ): + ignored_notes.extend([id(note) for note in error.notes]) + del baseline_errors[i] + break + else: + new_errors.append(error) + # second pass for rough matches + new_errors, temp = [], new_errors + ignored_notes = [] + for error in temp: + if error.code == codes.REVEAL: + new_errors.append(error) + continue + if id(error) in ignored_notes: + continue + for i, baseline_error in enumerate(baseline_errors): + if ( + error.line == baseline_error["line"] and + (error.code and error.code.code) == baseline_error["code"] + or clean_baseline_message(error.message) == + clean_baseline_message(baseline_error["message"]) and + abs(error.line - baseline_error["line"]) < 100 + ): + ignored_notes.extend([id(note) for note in error.notes]) + del baseline_errors[i] + break + else: + new_errors.append(error) + self.error_info_map[path] = new_errors + + +def clean_baseline_message(message: str) -> str: + return re.sub(r"line \d+", "", message) + class CompileError(Exception): """Exception raised when there is a compile error. @@ -942,13 +1111,13 @@ def report_internal_error(err: Exception, '#using-a-development-mypy-build', file=stderr) if options.show_traceback: - print('Please report a bug at https://github.com/python/mypy/issues', + print('Please report a bug at https://github.com/KotlinIsland/basedmypy/issues', file=stderr) else: - print('If this issue continues with mypy master, ' - 'please report a bug at https://github.com/python/mypy/issues', + print('If this issue continues with basedmypy master, ' + 'please report a bug at https://github.com/KotlinIsland/basedmypy/issues', file=stderr) - print(f'version: {mypy_version}', + print(f'version: {basedmypy_version}', file=stderr) # If requested, drop into pdb. This overrides show_tb. diff --git a/mypy/exprtotype.py b/mypy/exprtotype.py index 243bbf024..1d2b1d0d7 100644 --- a/mypy/exprtotype.py +++ b/mypy/exprtotype.py @@ -9,8 +9,8 @@ ) from mypy.fastparse import parse_type_string from mypy.types import ( - Type, UnboundType, TypeList, EllipsisType, AnyType, CallableArgument, TypeOfAny, - RawExpressionType, ProperType, UnionType, ANNOTATED_TYPE_NAMES, + Type, UnboundType, TypeList, EllipsisType, CallableArgument, + RawExpressionType, ProperType, UnionType, ANNOTATED_TYPE_NAMES, UntypedType, ) from mypy.options import Options @@ -106,7 +106,7 @@ def expr_to_unanalyzed_type(expr: Expression, # Go through the constructor args to get its name and type. name = None - default_type = AnyType(TypeOfAny.unannotated) + default_type = UntypedType() typ: Type = default_type for i, arg in enumerate(expr.args): if expr.arg_names[i] is not None: diff --git a/mypy/fastparse.py b/mypy/fastparse.py index b5b31a60b..c8a95fdeb 100644 --- a/mypy/fastparse.py +++ b/mypy/fastparse.py @@ -38,7 +38,7 @@ ) from mypy.types import ( Type, CallableType, AnyType, UnboundType, TupleType, TypeList, EllipsisType, CallableArgument, - TypeOfAny, Instance, RawExpressionType, ProperType, UnionType, + TypeOfAny, Instance, RawExpressionType, ProperType, UnionType, UntypedType, ) from mypy import defaults from mypy import message_registry, errorcodes as codes @@ -815,7 +815,7 @@ def do_func_def(self, n: Union[ast3.FunctionDef, ast3.AsyncFunctionDef], self.fail(message_registry.DUPLICATE_TYPE_SIGNATURES, lineno, n.col_offset) arg_types = [a.type_annotation if a.type_annotation is not None - else AnyType(TypeOfAny.unannotated) + else UntypedType() for a in args] else: # PEP 484 disallows both type annotations and type comments @@ -825,7 +825,7 @@ def do_func_def(self, n: Union[ast3.FunctionDef, ast3.AsyncFunctionDef], line=lineno, override_column=n.col_offset) .translate_expr_list(func_type_ast.argtypes)) - arg_types = [a if a is not None else AnyType(TypeOfAny.unannotated) + arg_types = [a if a is not None else UntypedType() for a in translated_args] return_type = TypeConverter(self.errors, line=lineno).visit(func_type_ast.returns) @@ -864,11 +864,11 @@ def do_func_def(self, n: Union[ast3.FunctionDef, ast3.AsyncFunctionDef], blocker=False) else: func_type = CallableType([a if a is not None else - AnyType(TypeOfAny.unannotated) for a in arg_types], + UntypedType() for a in arg_types], arg_kinds, arg_names, return_type if return_type is not None else - AnyType(TypeOfAny.unannotated), + UntypedType(), _dummy_fallback) func_def = FuncDef( diff --git a/mypy/fastparse2.py b/mypy/fastparse2.py index cc8d9599b..ca4ccd7ad 100644 --- a/mypy/fastparse2.py +++ b/mypy/fastparse2.py @@ -42,7 +42,7 @@ ) from mypy.types import ( Type, CallableType, AnyType, UnboundType, EllipsisType, TypeOfAny, Instance, - ProperType + ProperType, UntypedType ) from mypy import message_registry, errorcodes as codes from mypy.errors import Errors @@ -393,13 +393,13 @@ def visit_FunctionDef(self, n: ast27.FunctionDef) -> Statement: isinstance(func_type_ast.argtypes[0], ast3.Ellipsis)): arg_types = [a.type_annotation if a.type_annotation is not None - else AnyType(TypeOfAny.unannotated) + else UntypedType() for a in args] else: # PEP 484 disallows both type annotations and type comments if any(a.type_annotation is not None for a in args): self.fail(message_registry.DUPLICATE_TYPE_SIGNATURES, lineno, n.col_offset) - arg_types = [a if a is not None else AnyType(TypeOfAny.unannotated) for + arg_types = [a if a is not None else UntypedType() for a in converter.translate_expr_list(func_type_ast.argtypes)] return_type = converter.visit(func_type_ast.returns) @@ -432,7 +432,7 @@ def visit_FunctionDef(self, n: ast27.FunctionDef) -> Statement: self.fail('Type signature has too few arguments', lineno, n.col_offset, blocker=False) else: - any_type = AnyType(TypeOfAny.unannotated) + any_type = UntypedType() func_type = CallableType([a if a is not None else any_type for a in arg_types], arg_kinds, arg_names, diff --git a/mypy/ipc.py b/mypy/ipc.py index bf8bfa43b..2676d8e4b 100644 --- a/mypy/ipc.py +++ b/mypy/ipc.py @@ -265,4 +265,4 @@ def connection_name(self) -> str: if sys.platform == 'win32': return self.name else: - return self.sock.getsockname() + return self.sock.getsockname() # type: ignore[no-any-return, unused-ignore] diff --git a/mypy/main.py b/mypy/main.py index 14b318ead..4ffd968ba 100644 --- a/mypy/main.py +++ b/mypy/main.py @@ -10,6 +10,7 @@ from typing import Any, Dict, IO, List, Optional, Sequence, Tuple, TextIO, Union from typing_extensions import Final, NoReturn +import mypy.options from mypy import build from mypy import defaults from mypy import state @@ -26,7 +27,7 @@ from mypy.config_parser import get_config_module_names, parse_version, parse_config_file from mypy.split_namespace import SplitNamespace -from mypy.version import __version__ +from mypy.version import __version__, __based_version__ orig_stat: Final = os.stat MEM_PROFILE: Final = False # If True, dump memory profile @@ -115,8 +116,22 @@ def main(script_path: Optional[str], if options.error_summary: n_errors, n_notes, n_files = util.count_stats(messages) if n_errors: + if options.write_baseline and res: + new_errors = 0 + for errors in res.manager.errors.error_info_map.values(): + new_errors += len( + [error for error in res.manager.errors.remove_duplicates( + res.manager.errors.render_messages( + res.manager.errors.sort_messages( + [error for error in errors if not error.hidden] + ) + ) + ) if error[3] == "error"] + ) + else: + new_errors = -1 summary = formatter.format_error( - n_errors, n_files, len(sources), blockers=blockers, + n_errors, n_files, len(sources), new_errors=new_errors, blockers=blockers, use_color=options.color_output ) stdout.write(summary + '\n') @@ -125,6 +140,13 @@ def main(script_path: Optional[str], stdout.write(formatter.format_success(len(sources), options.color_output) + '\n') stdout.flush() + if options.write_baseline: + stdout.write( + formatter.style(f"Baseline successfully written to {options.baseline_file}\n", + "green", bold=True)) + stdout.flush() + code = 0 + if options.install_types and not options.non_interactive: result = install_types(formatter, options, after_run=True, non_interactive=False) if result: @@ -157,8 +179,9 @@ def run_build(sources: List[BuildSource], def flush_errors(new_messages: List[str], serious: bool) -> None: if options.pretty: new_messages = formatter.fit_in_terminal(new_messages) - messages.extend(new_messages) - if options.non_interactive: + if not options.write_baseline or serious: + messages.extend(new_messages) + if options.non_interactive or (options.write_baseline and serious): # Collect messages and possibly show them later. return f = stderr if serious else stdout @@ -295,6 +318,10 @@ def infer_python_executable(options: Options, DESCRIPTION: Final = """ +Basedmypy is a program that will type check your Python code. + +Based? Based on what? + Mypy is a program that will type check your Python code. Pass in any files or folders you want to type check. Mypy will @@ -442,16 +469,12 @@ def process_options(args: List[str], stdout=stdout, stderr=stderr) - strict_flag_names: List[str] = [] - strict_flag_assignments: List[Tuple[str, bool]] = [] - def add_invertible_flag(flag: str, *, inverse: Optional[str] = None, default: bool, dest: Optional[str] = None, help: str, - strict_flag: bool = False, group: Optional[argparse._ActionsContainer] = None ) -> None: if inverse is None: @@ -467,14 +490,10 @@ def add_invertible_flag(flag: str, dest=dest, help=help) dest = arg.dest - arg = group.add_argument(inverse, - action='store_true' if default else 'store_false', - dest=dest, - help=argparse.SUPPRESS) - if strict_flag: - assert dest is not None - strict_flag_names.append(flag) - strict_flag_assignments.append((dest, not default)) + group.add_argument(inverse, + action='store_true' if default else 'store_false', + dest=dest, + help=argparse.SUPPRESS) # Unless otherwise specified, arguments will be parsed directly onto an # Options object. Options that require further processing should have @@ -496,10 +515,52 @@ def add_invertible_flag(flag: str, compilation_status = "no" if __file__.endswith(".py") else "yes" general_group.add_argument( '-V', '--version', action=CapturableVersionAction, - version='%(prog)s ' + __version__ + f" (compiled: {compilation_status})", + version=( + f'basedmypy {__based_version__} (compiled: {compilation_status})\n' + f'Based on %(prog)s {__version__}' + ), help="Show program's version number and exit", stdout=stdout) + based_group = parser.add_argument_group( + title='Based functionality arguments') + based_group.add_argument( + '--write-baseline', action="store_true", + help="Create an error baseline from the result of this execution") + based_group.add_argument( + '--baseline-file', action='store', + help="Use baseline info in the given file" + f"(defaults to '{defaults.BASELINE_FILE}')") + based_group.add_argument( + '--baseline-format', action='store', + help="Baseline file format, for backwards compatibility" + " (defaults to the latest version)") + add_invertible_flag( + '--no-auto-baseline', default=True, group=based_group, + dest="auto_baseline", help="Don't update the baseline automatically.") + based_group.add_argument( + '--legacy', action='store_true', + help="Disable all based functionality") + add_invertible_flag( + '--default-return', default=False, dest="default_return", + help="Assume implicit default return type of None", + group=based_group) + add_invertible_flag( + '--ignore-any-from-error', default=False, dest="ignore_any_from_error", + help="Don't include Any type from errors in no-any-expr messages.", group=based_group) + add_invertible_flag( + '--no-infer-function-types', group=based_group, dest="infer_function_types", + default=True, help="Don't infer the type annotations of functions.") + add_invertible_flag( + '--incomplete-is-typed', group=based_group, default=False, + help="Partially typed/incomplete functions in this module are considered typed" + " for untyped call errors.") + based_group.add_argument( + '--disable-implicit-typing-globals', action="store_false", + dest="implicit_typing_globals", + help="Disallow using members from `typing` in annotations without imports." + ) + config_group = parser.add_argument_group( title='Config file', description="Use a config file instead of command line arguments. " @@ -509,9 +570,9 @@ def add_invertible_flag(flag: str, '--config-file', help="Configuration file, must have a [mypy] section " "(defaults to {})".format(', '.join(defaults.CONFIG_FILES))) - add_invertible_flag('--warn-unused-configs', default=False, strict_flag=True, - help="Warn about unused '[mypy-]' or '[[tool.mypy.overrides]]' " - "config sections", + add_invertible_flag('--no-warn-unused-configs', default=True, dest="warn_unused_configs", + help="Don't warn about unused '[mypy-]' or " + "'[[tool.mypy.overrides]]' config sections", group=config_group) imports_group = parser.add_argument_group( @@ -566,26 +627,27 @@ def add_invertible_flag(flag: str, help="Additional variable to be considered False (may be repeated)") disallow_any_group = parser.add_argument_group( - title='Disallow dynamic typing', - description="Disallow the use of the dynamic 'Any' type under certain conditions.") - disallow_any_group.add_argument( - '--disallow-any-unimported', default=False, action='store_true', - help="Disallow Any types resulting from unfollowed imports") - disallow_any_group.add_argument( - '--disallow-any-expr', default=False, action='store_true', - help='Disallow all expressions that have type Any') - disallow_any_group.add_argument( - '--disallow-any-decorated', default=False, action='store_true', - help='Disallow functions that have Any in their signature ' - 'after decorator transformation') - disallow_any_group.add_argument( - '--disallow-any-explicit', default=False, action='store_true', - help='Disallow explicit Any in type positions') - add_invertible_flag('--disallow-any-generics', default=False, strict_flag=True, - help='Disallow usage of generic types that do not specify explicit type ' + title='Allow dynamic typing', + description="Allow the use of the dynamic 'Any' type under certain conditions.") + add_invertible_flag( + '--allow-any-unimported', default=True, + dest="disallow_any_unimported", + help="Allow Any types resulting from unfollowed imports", group=disallow_any_group) + add_invertible_flag( + '--allow-any-expr', default=True, dest="disallow_any_expr", + help='Allow expressions that have type Any', group=disallow_any_group) + add_invertible_flag( + '--allow-any-decorated', default=True, dest="disallow_any_decorated", + help='Allow functions that have Any in their signature ' + 'after decorator transformation', group=disallow_any_group) + add_invertible_flag( + '--allow-any-explicit', default=True, dest="disallow_any_explicit", + help='Allow explicit Any in type positions', group=disallow_any_group) + add_invertible_flag('--allow-any-generics', default=True, dest="disallow_any_generics", + help='Allow usage of generic types that do not specify explicit type ' 'parameters', group=disallow_any_group) - add_invertible_flag('--disallow-subclassing-any', default=False, strict_flag=True, - help="Disallow subclassing values of type 'Any' when defining classes", + add_invertible_flag('--allow-subclassing-any', default=True, dest="disallow_subclassing_any", + help="Allow subclassing values of type 'Any' when defining classes", group=disallow_any_group) untyped_group = parser.add_argument_group( @@ -594,22 +656,23 @@ def add_invertible_flag(flag: str, "Note: by default, mypy ignores any untyped function definitions " "and assumes any calls to such functions have a return " "type of 'Any'.") - add_invertible_flag('--disallow-untyped-calls', default=False, strict_flag=True, - help="Disallow calling functions without type annotations" + add_invertible_flag('--allow-untyped-calls', default=True, dest="disallow_untyped_calls", + help="Allow calling functions without type annotations" " from functions with type annotations", group=untyped_group) - add_invertible_flag('--disallow-untyped-defs', default=False, strict_flag=True, - help="Disallow defining functions without type annotations" + add_invertible_flag('--allow-untyped-defs', default=True, dest="disallow_untyped_defs", + help="Allow defining functions without type annotations" " or with incomplete type annotations", group=untyped_group) - add_invertible_flag('--disallow-incomplete-defs', default=False, strict_flag=True, - help="Disallow defining functions with incomplete type annotations", + add_invertible_flag('--allow-incomplete-defs', default=True, dest="disallow_incomplete_defs", + help="Allow defining functions with incomplete type annotations", group=untyped_group) - add_invertible_flag('--check-untyped-defs', default=False, strict_flag=True, - help="Type check the interior of functions without type annotations", + add_invertible_flag('--no-check-untyped-defs', default=True, dest="check_untyped_defs", + help="Don't type check the interior of functions without type annotations", group=untyped_group) - add_invertible_flag('--disallow-untyped-decorators', default=False, strict_flag=True, - help="Disallow decorating typed functions with untyped decorators", + add_invertible_flag('--allow-untyped-decorators', default=True, + dest="disallow_untyped_decorators", + help="Allow decorating typed functions with untyped decorators", group=untyped_group) none_group = parser.add_argument_group( @@ -617,8 +680,8 @@ def add_invertible_flag(flag: str, description="Adjust how values of type 'None' are handled. For more context on " "how mypy handles values of type 'None', see: " "https://mypy.readthedocs.io/en/stable/kinds_of_types.html#no-strict-optional") - add_invertible_flag('--no-implicit-optional', default=False, strict_flag=True, - help="Don't assume arguments with default values of None are Optional", + add_invertible_flag('--implicit-optional', default=True, dest="no_implicit_optional", + help="Assume arguments with default values of None are Optional (cringe)", group=none_group) none_group.add_argument( '--strict-optional', action='store_true', @@ -633,62 +696,54 @@ def add_invertible_flag(flag: str, lint_group = parser.add_argument_group( title='Configuring warnings', description="Detect code that is sound but redundant or problematic.") - add_invertible_flag('--warn-redundant-casts', default=False, strict_flag=True, - help="Warn about casting an expression to its inferred type", + add_invertible_flag('--no-warn-redundant-casts', default=True, + dest="warn_redundant_casts", + help="Do not warn about casting an expression to its inferred type", group=lint_group) - add_invertible_flag('--warn-unused-ignores', default=False, strict_flag=True, - help="Warn about unneeded '# type: ignore' comments", + add_invertible_flag('--no-warn-unused-ignores', default=True, dest="warn_unused_ignores", + help="Do not warn about unneeded '# type: ignore' comments", group=lint_group) add_invertible_flag('--no-warn-no-return', dest='warn_no_return', default=True, help="Do not warn about functions that end without returning", group=lint_group) - add_invertible_flag('--warn-return-any', default=False, strict_flag=True, - help="Warn about returning values of type Any" + add_invertible_flag('--no-warn-return-any', default=True, dest="warn_return_any", + help="Do not warn about returning values of type Any" " from non-Any typed functions", group=lint_group) - add_invertible_flag('--warn-unreachable', default=False, strict_flag=False, - help="Warn about statements or expressions inferred to be" + add_invertible_flag('--no-warn-unreachable', default=True, dest="warn_unreachable", + help="Do not warn about statements or expressions inferred to be" " unreachable", group=lint_group) - # Note: this group is intentionally added here even though we don't add - # --strict to this group near the end. - # - # That way, this group will appear after the various strictness groups - # but before the remaining flags. - # We add `--strict` near the end so we don't accidentally miss any strictness - # flags that are added after this group. strictness_group = parser.add_argument_group( title='Miscellaneous strictness flags') - add_invertible_flag('--allow-untyped-globals', default=False, strict_flag=False, + add_invertible_flag('--allow-untyped-globals', default=False, help="Suppress toplevel errors caused by missing annotations", group=strictness_group) - add_invertible_flag('--allow-redefinition', default=False, strict_flag=False, - help="Allow unconditional variable redefinition with a new type", + add_invertible_flag('--disallow-redefinition', default=True, dest="allow_redefinition", + help="Disallow unconditional variable redefinition with a new type", group=strictness_group) - add_invertible_flag('--no-implicit-reexport', default=True, strict_flag=True, - dest='implicit_reexport', - help="Treat imports as private unless aliased", + add_invertible_flag('--implicit-reexport', default=False, + help="Export all imports, not just aliased ones", group=strictness_group) - add_invertible_flag('--strict-equality', default=False, strict_flag=True, - help="Prohibit equality, identity, and container checks for" + add_invertible_flag('--no-strict-equality', default=True, dest="strict_equality", + help="Allow equality, identity, and container checks for" " non-overlapping types", group=strictness_group) - add_invertible_flag('--strict-concatenate', default=False, strict_flag=True, + add_invertible_flag('--strict-concatenate', default=False, help="Make arguments prepended via Concatenate be truly positional-only", group=strictness_group) - strict_help = "Strict mode; enables the following flags: {}".format( - ", ".join(strict_flag_names)) - strictness_group.add_argument( - '--strict', action='store_true', dest='special-opts:strict', - help=strict_help) - + # --nonlocal-partial-types allows partial types spanning module top level and a function + # (implicitly defined in fine-grained incremental mode) + add_invertible_flag('--nonlocal-partial-types', default=True, dest="local_partial_types", + help="Enable partial types in different scopes", + group=strictness_group) strictness_group.add_argument( '--disable-error-code', metavar='NAME', action='append', default=[], help="Disable a specific error code") @@ -707,8 +762,8 @@ def add_invertible_flag(flag: str, add_invertible_flag('--show-column-numbers', default=False, help="Show column numbers in error messages", group=error_group) - add_invertible_flag('--show-error-codes', default=False, - help="Show error codes in error messages", + add_invertible_flag('--no-show-error-codes', default=True, dest="show_error_codes", + help="Don't show error codes in error messages", group=error_group) add_invertible_flag('--pretty', default=False, help="Use visually nicer output in error messages:" @@ -809,10 +864,10 @@ def add_invertible_flag(flag: str, '--scripts-are-modules', action='store_true', help="Script x becomes module x instead of __main__") - add_invertible_flag('--install-types', default=False, strict_flag=False, + add_invertible_flag('--install-types', default=False, help="Install detected missing library stub packages using pip", group=other_group) - add_invertible_flag('--non-interactive', default=False, strict_flag=False, + add_invertible_flag('--non-interactive', default=False, help=("Install stubs without asking for confirmation and hide " + "errors, with --install-types"), group=other_group, inverse="--interactive") @@ -848,9 +903,6 @@ def add_invertible_flag(flag: str, parser.add_argument('--dump-graph', action='store_true', help=argparse.SUPPRESS) # --semantic-analysis-only does exactly that. parser.add_argument('--semantic-analysis-only', action='store_true', help=argparse.SUPPRESS) - # --local-partial-types disallows partial types spanning module top level and a function - # (implicitly defined in fine-grained incremental mode) - parser.add_argument('--local-partial-types', action='store_true', help=argparse.SUPPRESS) # --logical-deps adds some more dependencies that are not semantically needed, but # may be helpful to determine relative importance of classes and functions for overall # type precision in a code base. It also _removes_ some deps, so this flag should be never @@ -924,20 +976,26 @@ def add_invertible_flag(flag: str, if config_file and not os.path.exists(config_file): parser.error(f"Cannot find config file '{config_file}'") + if dummy.legacy: + mypy.options._based = False + + based_enabled_codes = { + "redundant-expr", "truthy-bool", "ignore-without-code", "unused-awaitable", + "no-untyped-usage", + } if mypy.options._based else set() + options = Options() + if dummy.legacy: + if not os.getenv("__MYPY_UNDER_TEST__"): + mypy.options._based = True + def set_strict_flags() -> None: - for dest, value in strict_flag_assignments: - setattr(options, dest, value) + pass # Parse config file first, so command line can override. parse_config_file(options, set_strict_flags, config_file, stdout, stderr) - # Set strict flags before parsing (if strict mode enabled), so other command - # line options can override. - if getattr(dummy, 'special-opts:strict'): # noqa - set_strict_flags() - # Override cache_dir if provided in the environment environ_cache_dir = os.getenv('MYPY_CACHE_DIR', '') if environ_cache_dir.strip(): @@ -987,7 +1045,7 @@ def set_strict_flags() -> None: # Process `--enable-error-code` and `--disable-error-code` flags disabled_codes = set(options.disable_error_code) - enabled_codes = set(options.enable_error_code) + enabled_codes = set(options.enable_error_code) | (based_enabled_codes - disabled_codes) valid_error_codes = set(error_codes.keys()) @@ -1040,6 +1098,12 @@ def set_strict_flags() -> None: if options.logical_deps: options.cache_fine_grained = True + # Store targets + options.targets = ( + [f"module:{el}" for el in special_opts.modules] + + [f"package:{el}" for el in special_opts.packages] + + [f"file:{el}" for el in special_opts.files] + ) # Set target. if special_opts.modules + special_opts.packages: options.build_type = BuildType.MODULE diff --git a/mypy/maptype.py b/mypy/maptype.py index 1216c6015..373753426 100644 --- a/mypy/maptype.py +++ b/mypy/maptype.py @@ -2,7 +2,7 @@ from mypy.expandtype import expand_type from mypy.nodes import TypeInfo -from mypy.types import Type, TypeVarId, Instance, AnyType, TypeOfAny, ProperType +from mypy.types import Type, TypeVarId, Instance, AnyType, TypeOfAny, ProperType, UntypedType def map_instance_to_supertype(instance: Instance, @@ -89,7 +89,7 @@ def map_instance_to_direct_supertypes(instance: Instance, else: # Relationship with the supertype not specified explicitly. Use dynamic # type arguments implicitly. - any_type = AnyType(TypeOfAny.unannotated) + any_type = UntypedType() return [Instance(supertype, [any_type] * len(supertype.type_vars))] diff --git a/mypy/message_registry.py b/mypy/message_registry.py index 981c82cfc..6863fa495 100644 --- a/mypy/message_registry.py +++ b/mypy/message_registry.py @@ -92,10 +92,14 @@ def format(self, *args: object, **kwargs: object) -> "ErrorMessage": ) FORMAT_REQUIRES_MAPPING: Final = "Format requires a mapping" RETURN_TYPE_CANNOT_BE_CONTRAVARIANT: Final = ErrorMessage( - "Cannot use a contravariant type variable as return type" + "This usage of this contravariant type variable is unsafe as a return type.\n" + "If this is intentional and you know what you are doing, " + "you can ignore this line with 'unsafe-variance'" ) FUNCTION_PARAMETER_CANNOT_BE_COVARIANT: Final = ErrorMessage( - "Cannot use a covariant type variable as a parameter" + "This usage of this covariant type variable is unsafe as an input parameter.\n" + "If this is intentional and you know what you are doing, " + "you can ignore this line with 'unsafe-variance'" ) INCOMPATIBLE_IMPORT_OF: Final = "Incompatible import of" FUNCTION_TYPE_EXPECTED: Final = ErrorMessage( diff --git a/mypy/messages.py b/mypy/messages.py index 628c2cbaf..7911db866 100644 --- a/mypy/messages.py +++ b/mypy/messages.py @@ -26,14 +26,15 @@ Type, CallableType, Instance, TypeVarType, TupleType, TypedDictType, LiteralType, UnionType, NoneType, AnyType, Overloaded, FunctionLike, DeletedType, TypeType, UninhabitedType, TypeOfAny, UnboundType, PartialType, get_proper_type, ProperType, - ParamSpecType, Parameters, get_proper_types + ParamSpecType, Parameters, get_proper_types, TypeStrVisitor ) from mypy.typetraverser import TypeTraverserVisitor from mypy.nodes import ( TypeInfo, Context, MypyFile, FuncDef, reverse_builtin_aliases, ArgKind, ARG_POS, ARG_OPT, ARG_NAMED, ARG_NAMED_OPT, ARG_STAR, ARG_STAR2, ReturnStmt, NameExpr, Var, CONTRAVARIANT, COVARIANT, SymbolNode, - CallExpr, IndexExpr, StrExpr, SymbolTable, SYMBOL_FUNCBASE_TYPES + CallExpr, IndexExpr, StrExpr, SymbolTable, SYMBOL_FUNCBASE_TYPES, MemberExpr, + Expression ) from mypy.operators import op_methods, op_methods_to_symbols from mypy.subtypes import ( @@ -45,6 +46,7 @@ from mypy.util import unmangle, plural_s from mypy.errorcodes import ErrorCode from mypy import message_registry, errorcodes as codes +import mypy.options TYPES_FOR_UNIMPORTED_HINTS: Final = { 'typing.Any', @@ -59,6 +61,7 @@ 'typing.TypeVar', 'typing.Union', 'typing.cast', + 'basedtyping.Untyped', } @@ -148,7 +151,8 @@ def report(self, file: Optional[str] = None, origin: Optional[Context] = None, offset: int = 0, - allow_dups: bool = False) -> None: + allow_dups: bool = False, + notes: Optional[List[str]] = None) -> None: """Report an error or note (unless disabled).""" if origin is not None: end_line = origin.end_line @@ -160,7 +164,7 @@ def report(self, context.get_column() if context else -1, msg, severity=severity, file=file, offset=offset, origin_line=origin.get_line() if origin else None, - end_line=end_line, code=code, allow_dups=allow_dups) + end_line=end_line, code=code, allow_dups=allow_dups, notes=notes) def fail(self, msg: str, @@ -169,10 +173,11 @@ def fail(self, code: Optional[ErrorCode] = None, file: Optional[str] = None, origin: Optional[Context] = None, - allow_dups: bool = False) -> None: + allow_dups: bool = False, + notes: Optional[List[str]] = None) -> None: """Report an error message (unless disabled).""" self.report(msg, context, 'error', code=code, file=file, - origin=origin, allow_dups=allow_dups) + origin=origin, allow_dups=allow_dups, notes=notes) def note(self, msg: str, @@ -386,6 +391,33 @@ def untyped_function_call(self, callee: CallableType, context: Context) -> Type: code=codes.NO_UNTYPED_CALL) return AnyType(TypeOfAny.from_error) + def partially_typed_function_call(self, callee: CallableType, context: CallExpr): + name = ( + callable_name(callee) + or (context.callee.name + if isinstance(context.callee, (NameExpr, MemberExpr)) + else "(anonymous)" + ) + ) + self.fail(f'Call to incomplete function {name} in typed context', context, + code=codes.NO_UNTYPED_CALL, notes=[f'Type is "{callee}"']) + + def untyped_indexed_assignment(self, context: IndexExpr): + # don't care about CallExpr because they are handled by partially_typed_function_call + if isinstance(context.base, (NameExpr, MemberExpr)): + message = f'Untyped indexed-assignment to "{context.base.name}" in typed context' + self.fail(message, context, code=codes.NO_UNTYPED_USAGE) + + def untyped_name_usage(self, name: Union[str, Expression], context: Context): + if isinstance(name, NameExpr): + name = name.name + elif not isinstance(name, str): + self.fail('Usage of untyped name in typed context', context, + code=codes.NO_UNTYPED_USAGE) + return + self.fail(f'Usage of untyped name "{name}" in typed context', context, + code=codes.NO_UNTYPED_USAGE) + def incompatible_argument(self, n: int, m: int, @@ -1163,14 +1195,14 @@ def invalid_signature_for_special_method( context) def reveal_type(self, typ: Type, context: Context) -> None: - self.note(f'Revealed type is "{typ}"', context) + self.note(f'Revealed type is "{typ}"', context, code=codes.REVEAL) def reveal_locals(self, type_map: Dict[str, Optional[Type]], context: Context) -> None: # To ensure that the output is predictable on Python < 3.6, # use an ordered dictionary sorted by variable name sorted_locals = OrderedDict(sorted(type_map.items(), key=lambda t: t[0])) if sorted_locals: - self.note("Revealed local types are:", context) + self.note("Revealed local types are:", context, code=codes.REVEAL) for k, v in sorted_locals.items(): self.note(f' {k}: {v}', context) else: @@ -1218,7 +1250,7 @@ def need_annotation_for_var(self, node: SymbolNode, context: Context, code=codes.VAR_ANNOTATED) def explicit_any(self, ctx: Context) -> None: - self.fail('Explicit "Any" is not allowed', ctx) + self.fail('Explicit "Any" is not allowed', ctx, code=codes.NO_ANY_EXPLICIT) def unexpected_typeddict_keys( self, @@ -1315,10 +1347,10 @@ def type_arguments_not_allowed(self, context: Context) -> None: def disallowed_any_type(self, typ: Type, context: Context) -> None: typ = get_proper_type(typ) if isinstance(typ, AnyType): - message = 'Expression has type "Any"' + message = f'Expression has type "{typ.describe()}"' else: message = f'Expression type contains "Any" (has type {format_type(typ)})' - self.fail(message, context) + self.fail(message, context, code=codes.NO_ANY_EXPR) def incorrectly_returning_any(self, typ: Type, context: Context) -> None: message = f'Returning Any from function declared to return {format_type(typ)}' @@ -1339,10 +1371,11 @@ def incorrect__exit__return(self, context: Context) -> None: def untyped_decorated_function(self, typ: Type, context: Context) -> None: typ = get_proper_type(typ) if isinstance(typ, AnyType): - self.fail("Function is untyped after decorator transformation", context) + self.fail("Function is untyped after decorator transformation", context, + code=codes.NO_ANY_DECORATED) else: self.fail('Type of decorated function contains type "Any" ({})'.format( - format_type(typ)), context) + format_type(typ)), context, code=codes.NO_ANY_DECORATED) def typed_function_untyped_decorator(self, func_name: str, context: Context) -> None: self.fail(f'Untyped decorator makes function "{func_name}" untyped', context) @@ -1692,6 +1725,11 @@ def format(typ: Type) -> str: def format_list(types: Sequence[Type]) -> str: return ', '.join(format(typ) for typ in types) + def format_union(types: Sequence[Type]) -> str: + if not mypy.options._based: + return format_list(types) + return ' | '.join(format(typ) for typ in types) + def format_literal_value(typ: LiteralType) -> str: if typ.is_enum_literal(): underlying_type = format(typ.fallback) @@ -1714,11 +1752,13 @@ def format_literal_value(typ: LiteralType) -> str: base_str = itype.type.name if not itype.args: # No type arguments, just return the type name - return base_str + return TypeStrVisitor.strip_builtins(base_str) elif itype.type.fullname == 'builtins.tuple': item_type_str = format(itype.args[0]) - return f'Tuple[{item_type_str}, ...]' - elif itype.type.fullname in reverse_builtin_aliases: + if not mypy.options._based: + return f'Tuple[{item_type_str}, ...]' + return f'tuple[{item_type_str}, ...]' + elif not mypy.options._based and itype.type.fullname in reverse_builtin_aliases: alias = reverse_builtin_aliases[itype.type.fullname] alias = alias.split('.')[-1] return f'{alias}[{format_list(itype.args)}]' @@ -1745,7 +1785,12 @@ def format_literal_value(typ: LiteralType) -> str: # Prefer the name of the fallback class (if not tuple), as it's more informative. if typ.partial_fallback.type.fullname != 'builtins.tuple': return format(typ.partial_fallback) - s = f'Tuple[{format_list(typ.items)}]' + if not mypy.options._based: + s = f'Tuple[{format_list(typ.items)}]' + else: + s = format_list(typ.items) + s = f'({s},)' if len(typ.items) == 1 else f'({s})' + return s elif isinstance(typ, TypedDictType): # If the TypedDictType is named, return the name @@ -1770,9 +1815,14 @@ def format_literal_value(typ: LiteralType) -> str: ) if len(union_items) == 1 and isinstance(get_proper_type(union_items[0]), NoneType): - return f'Optional[{literal_str}]' + if mypy.options._based: + return f'{literal_str} | None' + else: + return f'Optional[{literal_str}]' elif union_items: - return f'Union[{format_list(union_items)}, {literal_str}]' + if not mypy.options._based: + return f'Union[{format_list(union_items)}, {literal_str}]' + return f'{format_union(union_items)} | {literal_str}' else: return literal_str else: @@ -1782,15 +1832,21 @@ def format_literal_value(typ: LiteralType) -> str: for t in typ.items) == 1) if print_as_optional: rest = [t for t in typ.items if not isinstance(get_proper_type(t), NoneType)] - return f'Optional[{format(rest[0])}]' + if mypy.options._based: + return f'{format(rest[0])} | None' + else: + return f'Optional[{format(rest[0])}]' else: - s = f'Union[{format_list(typ.items)}]' + if mypy.options._based: + s = format_union(typ.items) + else: + s = f'Union[{format_list(typ.items)}]' return s elif isinstance(typ, NoneType): return 'None' elif isinstance(typ, AnyType): - return 'Any' + return typ.describe() elif isinstance(typ, DeletedType): return '' elif isinstance(typ, UninhabitedType): @@ -1799,7 +1855,9 @@ def format_literal_value(typ: LiteralType) -> str: else: return '' elif isinstance(typ, TypeType): - return f'Type[{format(typ.item)}]' + if not mypy.options._based: + return f'Type[{format(typ.item)}]' + return f'type[{format(typ.item)}]' elif isinstance(typ, FunctionLike): func = typ if func.is_type_obj(): @@ -1812,17 +1870,23 @@ def format_literal_value(typ: LiteralType) -> str: else: return_type = format(func.ret_type) if func.is_ellipsis_args: - return f'Callable[..., {return_type}]' + if not mypy.options._based: + return f'Callable[..., {return_type}]' + return f'(...) -> {return_type}' param_spec = func.param_spec() if param_spec is not None: - return f'Callable[{format(param_spec)}, {return_type}]' + if not mypy.options._based: + return f'Callable[{format(param_spec)}, {return_type}]' + return f"({param_spec.name}) -> {return_type}" args = format_callable_args( func.arg_types, func.arg_kinds, func.arg_names, format, verbosity) - return f'Callable[[{args}], {return_type}]' + if not mypy.options._based: + return f'Callable[[{args}], {return_type}]' + return f'({args}) -> {return_type}' else: # Use a simple representation for function types; proper # function types may result in long and difficult-to-read diff --git a/mypy/nodes.py b/mypy/nodes.py index b7824cdd0..5d3887196 100644 --- a/mypy/nodes.py +++ b/mypy/nodes.py @@ -714,7 +714,8 @@ def set_line(self, arg.set_line(self.line, self.column, self.end_line, end_column) def is_dynamic(self) -> bool: - return self.type is None + from mypy.types import CallableType + return self.type is None or isinstance(self.type, CallableType) and self.type.implicit FUNCDEF_FLAGS: Final = FUNCITEM_FLAGS + [ diff --git a/mypy/options.py b/mypy/options.py index 254af61a0..60021f9cb 100644 --- a/mypy/options.py +++ b/mypy/options.py @@ -27,6 +27,7 @@ class BuildType: "always_true", "check_untyped_defs", "debug_cache", + "default_return", "disallow_any_decorated", "disallow_any_explicit", "disallow_any_expr", @@ -42,9 +43,11 @@ class BuildType: "ignore_errors", "ignore_missing_imports", "implicit_reexport", - "local_partial_types", + "infer_function_types", "mypyc", "no_implicit_optional", + "nonlocal_partial_types", + "incomplete_is_typed", "show_none_errors", "strict_concatenate", "strict_equality", @@ -60,6 +63,16 @@ class BuildType: "debug_cache" } +_based = True + + +def flip_if_not_based(b: bool) -> bool: + """Flips this bool if we are not based. + + Used to run tests in old mode. + """ + return b if _based else not b + class Options: """Options collected from flags.""" @@ -67,6 +80,8 @@ class Options: def __init__(self) -> None: # Cache for clone_for_module() self._per_module_cache: Optional[Dict[str, Options]] = None + # Despite the warnings about _per_module_cache being slow, this one might be good + self._final_per_module_cache: Dict[str, Options] = {} # -- build options -- self.build_type = BuildType.STANDARD @@ -103,49 +118,63 @@ def __init__(self) -> None: # File names, directory names or subpaths to avoid checking self.exclude: List[str] = [] + # Based options + self.legacy = False + self.write_baseline = False + self.baseline_file = defaults.BASELINE_FILE + # TODO make this a tuple or something that will make comparisons easier + self.baseline_format = "default" + self.auto_baseline = True + self.default_return = False + self.infer_function_types = flip_if_not_based(True) + self.targets: List[str] = [] + self.ignore_any_from_error = True + self.incomplete_is_typed = flip_if_not_based(False) + self.implicit_typing_globals = True + # disallow_any options - self.disallow_any_generics = False - self.disallow_any_unimported = False - self.disallow_any_expr = False - self.disallow_any_decorated = False - self.disallow_any_explicit = False + self.disallow_any_generics = flip_if_not_based(True) + self.disallow_any_unimported = flip_if_not_based(True) + self.disallow_any_expr = flip_if_not_based(True) + self.disallow_any_decorated = flip_if_not_based(True) + self.disallow_any_explicit = flip_if_not_based(True) # Disallow calling untyped functions from typed ones - self.disallow_untyped_calls = False + self.disallow_untyped_calls = flip_if_not_based(True) # Disallow defining untyped (or incompletely typed) functions - self.disallow_untyped_defs = False + self.disallow_untyped_defs = flip_if_not_based(True) # Disallow defining incompletely typed functions - self.disallow_incomplete_defs = False + self.disallow_incomplete_defs = flip_if_not_based(True) # Type check unannotated functions - self.check_untyped_defs = False + self.check_untyped_defs = flip_if_not_based(True) # Disallow decorating typed functions with untyped decorators - self.disallow_untyped_decorators = False + self.disallow_untyped_decorators = flip_if_not_based(True) # Disallow subclassing values of type 'Any' - self.disallow_subclassing_any = False + self.disallow_subclassing_any = flip_if_not_based(True) # Also check typeshed for missing annotations - self.warn_incomplete_stub = False + self.warn_incomplete_stub = flip_if_not_based(True) # Warn about casting an expression to its inferred type - self.warn_redundant_casts = False + self.warn_redundant_casts = flip_if_not_based(True) # Warn about falling off the end of a function returning non-None self.warn_no_return = True # Warn about returning objects of type Any when the function is # declared with a precise type - self.warn_return_any = False + self.warn_return_any = flip_if_not_based(True) # Warn about unused '# type: ignore' comments - self.warn_unused_ignores = False + self.warn_unused_ignores = flip_if_not_based(True) # Warn about unused '[mypy-]' or '[[tool.mypy.overrides]]' config sections - self.warn_unused_configs = False + self.warn_unused_configs = flip_if_not_based(True) # Files in which to ignore all non-fatal errors self.ignore_errors = False @@ -168,28 +197,28 @@ def __init__(self) -> None: self.show_none_errors = True # Don't assume arguments with default values of None are Optional - self.no_implicit_optional = False + self.no_implicit_optional = flip_if_not_based(True) # Don't re-export names unless they are imported with `from ... as ...` - self.implicit_reexport = True + self.implicit_reexport = flip_if_not_based(False) # Suppress toplevel errors caused by missing annotations self.allow_untyped_globals = False # Allow variable to be redefined with an arbitrary type in the same block # and the same nesting level as the initialization - self.allow_redefinition = False + self.allow_redefinition = flip_if_not_based(True) # Prohibit equality, identity, and container checks for non-overlapping types. # This makes 1 == '1', 1 in ['1'], and 1 is '1' errors. - self.strict_equality = False + self.strict_equality = flip_if_not_based(True) # Make arguments prepended via Concatenate be truly positional-only. self.strict_concatenate = False # Report an error for any branches inferred to be unreachable as a result of # type analysis. - self.warn_unreachable = False + self.warn_unreachable = flip_if_not_based(True) # Variable names considered True self.always_true: List[str] = [] @@ -274,15 +303,15 @@ def __init__(self) -> None: # -- experimental options -- self.shadow_file: Optional[List[List[str]]] = None - self.show_column_numbers: bool = False - self.show_error_codes = False + self.show_column_numbers: bool = flip_if_not_based(True) + self.show_error_codes = flip_if_not_based(True) # Use soft word wrap and show trimmed source snippets with error location markers. self.pretty = False self.dump_graph = False self.dump_deps = False self.logical_deps = False - # If True, partial types can't span a module top level and a function - self.local_partial_types = False + # If True, partial types can span a module top level and a function + self.nonlocal_partial_types = flip_if_not_based(False) # Some behaviors are changed when using Bazel (https://bazel.build). self.bazel = False # If True, export inferred types for all expressions as BuildResult.types @@ -315,6 +344,15 @@ def __init__(self) -> None: def new_semantic_analyzer(self) -> bool: return True + # To avoid breaking plugin compatibility, keep providing local_partial_types + @property + def local_partial_types(self) -> bool: + return not self.nonlocal_partial_types + + @local_partial_types.setter + def local_partial_types(self, value: bool) -> None: + self.nonlocal_partial_types = not value + def snapshot(self) -> object: """Produce a comparable snapshot of this Option""" # Under mypyc, we don't have a __dict__, so we need to do worse things. @@ -399,7 +437,9 @@ def clone_for_module(self, module: str) -> 'Options': # If the module just directly has a config entry, use it. if module in self._per_module_cache: self.unused_configs.discard(module) - return self._per_module_cache[module] + result = self._per_module_cache[module] + self._final_per_module_cache[module] = result + return result # If not, search for glob paths at all the parents. So if we are looking for # options for foo.bar.baz, we search foo.bar.baz.*, foo.bar.*, foo.*, @@ -426,7 +466,8 @@ def clone_for_module(self, module: str) -> 'Options': # We could update the cache to directly point to modules once # they have been looked up, but in testing this made things # slower and not faster, so we don't bother. - + # BASED: We cache it anyway, so. + self._final_per_module_cache[module] = options return options def compile_glob(self, s: str) -> Pattern[str]: @@ -441,3 +482,6 @@ def compile_glob(self, s: str) -> Pattern[str]: def select_options_affecting_cache(self) -> Mapping[str, object]: return {opt: getattr(self, opt) for opt in OPTIONS_AFFECTING_CACHE} + + def per_module(self, module: str) -> 'Options': + return self._final_per_module_cache.get(module, self) diff --git a/mypy/report.py b/mypy/report.py index 28fa5c274..2ba7309f8 100644 --- a/mypy/report.py +++ b/mypy/report.py @@ -21,7 +21,7 @@ from mypy.options import Options from mypy.traverser import TraverserVisitor from mypy.types import Type, TypeOfAny -from mypy.version import __version__ +from mypy.version import __based_version__ from mypy.defaults import REPORTER_NAMES try: @@ -579,7 +579,7 @@ def __init__(self, reports: Reports, output_dir: str) -> None: self.root = etree.Element('coverage', timestamp=str(int(time.time())), - version=__version__) + version=__based_version__) self.doc = etree.ElementTree(self.root) self.root_package = CoberturaPackage('.') diff --git a/mypy/semanal.py b/mypy/semanal.py index 6bfa6e778..c894505c7 100644 --- a/mypy/semanal.py +++ b/mypy/semanal.py @@ -85,7 +85,7 @@ StarredPattern, MappingPattern, ClassPattern, ) from mypy.tvar_scope import TypeVarLikeScope -from mypy.typevars import fill_typevars +from mypy.typevars import fill_typevars, fill_typevars_with_any from mypy.visitor import NodeVisitor from mypy.errors import Errors, report_internal_error from mypy.messages import ( @@ -100,8 +100,9 @@ get_proper_type, get_proper_types, TypeAliasType, TypeVarLikeType, Parameters, ParamSpecType, PROTOCOL_NAMES, TYPE_ALIAS_NAMES, FINAL_TYPE_NAMES, FINAL_DECORATOR_NAMES, REVEAL_TYPE_NAMES, ASSERT_TYPE_NAMES, OVERLOAD_NAMES, TYPED_NAMEDTUPLE_NAMES, is_named_instance, + is_unannotated_any, UntypedType, ) -from mypy.typeops import function_type, get_type_vars +from mypy.typeops import function_type, get_type_vars, infer_impl_from_parts, callable_type from mypy.type_visitor import TypeQuery from mypy.typeanal import ( TypeAnalyser, analyze_type_alias, no_subscript_builtin_alias, @@ -611,6 +612,8 @@ def file_context(self, def visit_func_def(self, defn: FuncDef) -> None: self.statement = defn + infer_fdef_types_from_defaults(defn, self) + # Visit default values because they may contain assignment expressions. for arg in defn.arguments: if arg.initializer: @@ -648,10 +651,34 @@ def analyze_func_def(self, defn: FuncDef) -> None: # Method definition assert self.type is not None defn.info = self.type - if defn.type is not None and defn.name in ('__init__', '__init_subclass__'): - assert isinstance(defn.type, CallableType) - if isinstance(get_proper_type(defn.type.ret_type), AnyType): - defn.type = defn.type.copy_modified(ret_type=NoneType()) + if defn.name in ('__init__', '__init_subclass__'): + if defn.type: + assert isinstance(defn.type, CallableType) + if isinstance(get_proper_type(defn.type.ret_type), AnyType): + defn.type = defn.type.copy_modified(ret_type=NoneType()) + elif self.options.infer_function_types: + defn.type = CallableType( + [UntypedType() for _ in defn.arg_kinds], + defn.arg_kinds, + defn.arg_names, + NoneType(), + self.named_type('builtins.function'), + implicit=True,) + if defn.name == "__new__" and self.options.infer_function_types: + if defn.type: + assert isinstance(defn.type, CallableType) + if isinstance(get_proper_type(defn.type.ret_type), (AnyType, NoneType)): + self_type = fill_typevars_with_any(defn.info) + defn.type = defn.type.copy_modified(ret_type=self_type) + elif self.options.infer_function_types: + self_type = fill_typevars_with_any(defn.info) + defn.type = CallableType( + [UntypedType() for _ in defn.arg_kinds], + defn.arg_kinds, + defn.arg_names, + self_type, + self.named_type('builtins.function'), + implicit=True,) self.prepare_method_signature(defn, self.type) # Analyze function signature @@ -835,6 +862,10 @@ def analyze_overload_sigs_and_impl( if isinstance(item, Decorator): callable = function_type(item.func, self.named_type('builtins.function')) assert isinstance(callable, CallableType) + # overloads ignore the rule regarding default return and untyped defs + if item.type is None and self.options.default_return: + if is_unannotated_any(callable.ret_type): + callable.ret_type = NoneType() if not any(refers_to_fullname(dec, OVERLOAD_NAMES) for dec in item.decorators): if i == len(defn.items) - 1 and not self.is_stub_file: @@ -853,6 +884,10 @@ def analyze_overload_sigs_and_impl( impl = item else: non_overload_indexes.append(i) + if self.options.infer_function_types and impl and not non_overload_indexes: + infer_impl_from_parts( + impl, types, self.named_type("builtins.function"), self.named_type + ) return types, impl, non_overload_indexes def handle_missing_overload_decorators(self, @@ -960,11 +995,56 @@ def analyze_property_with_multi_part_definition(self, defn: OverloadedFuncDef) - if len(item.decorators) == 1: node = item.decorators[0] if isinstance(node, MemberExpr): + none_func = callable_type( + item.func, self.named_type("builtins.function"), NoneType() + ) + none_func.implicit = False + untyped_func = callable_type( + item.func, self.named_type("builtins.function"), + UntypedType(TypeOfAny.explicit) + ) if node.name == 'setter': # The first item represents the entire property. first_item.var.is_settable_property = True # Get abstractness from the original definition. item.func.is_abstract = first_item.func.is_abstract + # infer types from the getter + if isinstance(first_item.func.type, CallableType): + if not item.func.type: + item.func.type = none_func + if len(item.func.type.arg_types) == 2: + item.func.type.arg_types[1] = first_item.func.type.ret_type + elif isinstance(item.func.type, CallableType): + if ( + len(item.func.type.arg_types) == 2 + and is_unannotated_any(item.func.type.arg_types[1]) + ): + item.func.type.arg_types[1] = first_item.func.type.ret_type + if is_unannotated_any(item.func.type.ret_type): + item.func.type.ret_type = NoneType() + else: + # set some boring defaults + if not item.func.type: + item.func.type = untyped_func + item.func.type.arg_types[1] = UntypedType(TypeOfAny.explicit) + item.func.type.implicit = True + elif isinstance(item.func.type, CallableType): + if ( + len(item.func.type.arg_types) == 2 + and is_unannotated_any(item.func.type.arg_types[1]) + ): + item.func.type.arg_types[1] = NoneType() + if is_unannotated_any(item.func.type.ret_type): + item.func.type.ret_type = NoneType() + if node.name == 'deleter': + # infer types from the getter + if first_item.func.type: + if not item.type: + item.func.type = none_func + else: + if not item.func.type: + item.func.type = untyped_func + item.func.type.implicit = True else: self.fail("Decorated property not supported", item) item.func.accept(self) @@ -1372,7 +1452,7 @@ class Foo(Bar, Generic[T]): ... del base_type_exprs[i] tvar_defs: List[TypeVarLikeType] = [] for name, tvar_expr in declared_tvars: - tvar_def = self.tvar_scope.bind_new(name, tvar_expr) + tvar_def = self.tvar_scope.bind_new(name, tvar_expr, defn.name) tvar_defs.append(tvar_def) return base_type_exprs, tvar_defs, is_protocol @@ -1579,7 +1659,7 @@ def configure_base_classes(self, msg = f'Class cannot subclass "{base_expr.name}" (has type "Any")' else: msg = 'Class cannot subclass value of type "Any"' - self.fail(msg, base_expr) + self.fail(msg, base_expr, code=codes.NO_SUBCLASS_ANY) info.fallback_to_any = True else: msg = 'Invalid base class' @@ -2576,7 +2656,9 @@ def is_annotated_protocol_member(self, s: AssignmentStmt) -> bool: for lv in s.lvalues ) - def analyze_simple_literal_type(self, rvalue: Expression, is_final: bool) -> Optional[Type]: + def analyze_simple_literal_type( + self, rvalue: Expression, is_final: bool, do_bools=False + ) -> Optional[Type]: """Return builtins.int if rvalue is an int literal, etc. If this is a 'Final' context, we return "Literal[...]" instead.""" @@ -2601,6 +2683,8 @@ def analyze_simple_literal_type(self, rvalue: Expression, is_final: bool) -> Opt value, type_name = rvalue.value, 'builtins.bytes' if isinstance(rvalue, UnicodeExpr): value, type_name = rvalue.value, 'builtins.unicode' + if do_bools and isinstance(rvalue, NameExpr) and rvalue.name in ("True", "False"): + value, type_name = rvalue.name == "True", 'builtins.bool' if type_name is not None: assert value is not None @@ -2668,7 +2752,8 @@ def check_and_set_up_type_alias(self, s: AssignmentStmt) -> bool: pep_613 = False if s.unanalyzed_type is not None and isinstance(s.unanalyzed_type, UnboundType): - lookup = self.lookup_qualified(s.unanalyzed_type.name, s, suppress_errors=True) + lookup = self.lookup_qualified(s.unanalyzed_type.name, s, suppress_errors=True, + annotation=True) if lookup and lookup.fullname in TYPE_ALIAS_NAMES: pep_613 = True if not pep_613 and s.unanalyzed_type is not None: @@ -3449,7 +3534,7 @@ def check_classvar(self, s: AssignmentStmt) -> None: def is_classvar(self, typ: Type) -> bool: if not isinstance(typ, UnboundType): return False - sym = self.lookup_qualified(typ.name, typ) + sym = self.lookup_qualified(typ.name, typ, annotation=True) if not sym or not sym.node: return False return sym.node.fullname == 'typing.ClassVar' @@ -3457,7 +3542,7 @@ def is_classvar(self, typ: Type) -> bool: def is_final_type(self, typ: Optional[Type]) -> bool: if not isinstance(typ, UnboundType): return False - sym = self.lookup_qualified(typ.name, typ) + sym = self.lookup_qualified(typ.name, typ, annotation=True) if not sym or not sym.node: return False return sym.node.fullname in FINAL_TYPE_NAMES @@ -4428,7 +4513,8 @@ def visit_class_pattern(self, p: ClassPattern) -> None: # def lookup(self, name: str, ctx: Context, - suppress_errors: bool = False) -> Optional[SymbolTableNode]: + suppress_errors: bool = False, + annotation: bool = False) -> Optional[SymbolTableNode]: """Look up an unqualified (no dots) name in all active namespaces. Note that the result may contain a PlaceholderNode. The caller may @@ -4484,6 +4570,18 @@ def lookup(self, name: str, ctx: Context, return None node = table[name] return node + # 6. based + if annotation and self.is_future_flag_set("annotations"): + # 6a. typing + table = self.modules["typing"].names + if name in table: + node = table[name] + return node + # 6b. basedtyping + table = self.modules["basedtyping"].names + if name in table: + node = table[name] + return node # Give up. if not implicit_name and not suppress_errors: self.name_not_defined(name, ctx) @@ -4554,7 +4652,8 @@ def is_defined_in_current_module(self, fullname: Optional[str]) -> bool: return module_prefix(self.modules, fullname) == self.cur_mod_id def lookup_qualified(self, name: str, ctx: Context, - suppress_errors: bool = False) -> Optional[SymbolTableNode]: + suppress_errors: bool = False, + annotation: bool = False) -> Optional[SymbolTableNode]: """Lookup a qualified name in all activate namespaces. Note that the result may contain a PlaceholderNode. The caller may @@ -4566,10 +4665,10 @@ def lookup_qualified(self, name: str, ctx: Context, """ if '.' not in name: # Simple case: look up a short name. - return self.lookup(name, ctx, suppress_errors=suppress_errors) + return self.lookup(name, ctx, suppress_errors=suppress_errors, annotation=annotation) parts = name.split('.') namespace = self.cur_mod_id - sym = self.lookup(parts[0], ctx, suppress_errors=suppress_errors) + sym = self.lookup(parts[0], ctx, suppress_errors=suppress_errors, annotation=annotation) if sym: for i in range(1, len(parts)): node = sym.node @@ -4743,7 +4842,7 @@ def named_type_or_none(self, fullname: str, if args is not None: # TODO: assert len(args) == len(node.defn.type_vars) return Instance(node, args) - return Instance(node, [AnyType(TypeOfAny.unannotated)] * len(node.defn.type_vars)) + return Instance(node, [UntypedType()] * len(node.defn.type_vars)) def builtin_type(self, fully_qualified_name: str) -> Instance: """Legacy function -- use named_type() instead.""" @@ -5678,3 +5777,57 @@ def is_same_symbol(a: Optional[SymbolNode], b: Optional[SymbolNode]) -> bool: or (isinstance(a, PlaceholderNode) and isinstance(b, PlaceholderNode)) or is_same_var_from_getattr(a, b)) + + +def infer_fdef_types_from_defaults(defn: Union[FuncDef, Decorator], self: SemanticAnalyzer): + def is_unannotated_any(typ_: Type) -> bool: + return isinstance(get_proper_type(typ_), AnyType) + if isinstance(defn, Decorator): + defn = defn.func + + if defn.type and isinstance(defn.type, CallableType) and defn.type.fully_typed: + return + + if not defn.type and ( + self.options.default_return + or (self.options.infer_function_types and any(arg.initializer for arg in defn.arguments)) + ): + arg_types = [] + if self.options.infer_function_types: + for arg in defn.arguments: + typ = None + if arg.variable.is_inferred and arg.initializer: + arg.initializer.accept(self) + typ = self.analyze_simple_literal_type(arg.initializer, False, do_bools=True) + arg_types.append(typ or UntypedType()) + ret_type = None + if self.options.default_return and self.options.disallow_untyped_defs: + ret_type = NoneType() + if any(not isinstance(get_proper_type(t), AnyType) for t in arg_types) or ret_type: + defn.type = CallableType(arg_types + or [UntypedType() for _ in defn.arg_kinds], + defn.arg_kinds, + defn.arg_names, + ret_type or UntypedType(), + self.named_type('builtins.function'), + line=defn.line, + column=defn.column, + implicit=not self.options.disallow_untyped_defs) + elif defn.type: + assert isinstance(defn.type, CallableType) + if self.options.default_return and is_unannotated_any(defn.type.ret_type) and ( + isinstance(defn.unanalyzed_type, CallableType) + and not self.options.disallow_untyped_defs + and any(defn.unanalyzed_type.arg_types) + or self.options.disallow_untyped_defs + ): + defn.type.ret_type = NoneType() + if self.options.infer_function_types: + for i, arg in enumerate(defn.arguments): + if is_unannotated_any(defn.type.arg_types[i]): + if arg.variable.is_inferred and arg.initializer: + ret = self.analyze_simple_literal_type( + arg.initializer, False, do_bools=True + ) + if ret: + defn.type.arg_types[i] = ret diff --git a/mypy/semanal_infer.py b/mypy/semanal_infer.py index 73a1077c5..fc5604c12 100644 --- a/mypy/semanal_infer.py +++ b/mypy/semanal_infer.py @@ -4,7 +4,7 @@ from mypy.nodes import Expression, Decorator, CallExpr, FuncDef, RefExpr, Var, ARG_POS from mypy.types import ( - Type, CallableType, AnyType, TypeOfAny, TypeVarType, ProperType, get_proper_type + Type, CallableType, AnyType, TypeOfAny, TypeVarType, ProperType, get_proper_type, UntypedType ) from mypy.typeops import function_type from mypy.typevars import has_no_typevars @@ -84,7 +84,7 @@ def calculate_return_type(expr: Expression) -> Optional[ProperType]: typ = expr.node.type if typ is None: # No signature -> default to Any. - return AnyType(TypeOfAny.unannotated) + return UntypedType() # Explicit Any return? if isinstance(typ, CallableType): return get_proper_type(typ.ret_type) diff --git a/mypy/semanal_namedtuple.py b/mypy/semanal_namedtuple.py index e63be5387..905b6aa1b 100644 --- a/mypy/semanal_namedtuple.py +++ b/mypy/semanal_namedtuple.py @@ -9,7 +9,7 @@ from mypy.types import ( Type, TupleType, AnyType, TypeOfAny, CallableType, TypeType, TypeVarType, - UnboundType, LiteralType, TYPED_NAMEDTUPLE_NAMES + UnboundType, LiteralType, UntypedType, TYPED_NAMEDTUPLE_NAMES ) from mypy.semanal_shared import ( SemanticAnalyzerInterface, set_callable_name, calculate_tuple_fallback, PRIORITY_FALLBACKS @@ -127,7 +127,7 @@ def check_namedtuple_classdef(self, defn: ClassDef, is_stub_file: bool name = stmt.lvalues[0].name items.append(name) if stmt.type is None: - types.append(AnyType(TypeOfAny.unannotated)) + types.append(UntypedType()) else: analyzed = self.api.anal_type(stmt.type) if analyzed is None: @@ -338,7 +338,7 @@ def parse_namedtuple_args(self, call: CallExpr, fullname: str if not ok: return [], [], [], typename, False if not types: - types = [AnyType(TypeOfAny.unannotated) for _ in items] + types = [UntypedType() for _ in items] underscore = [item for item in items if item.startswith('_')] if underscore: self.fail(f'"{type_name}()" field names cannot start with an underscore: ' diff --git a/mypy/semanal_shared.py b/mypy/semanal_shared.py index 6d6c4ac9f..34f8bf49a 100644 --- a/mypy/semanal_shared.py +++ b/mypy/semanal_shared.py @@ -34,7 +34,8 @@ class SemanticAnalyzerCoreInterface: @abstractmethod def lookup_qualified(self, name: str, ctx: Context, - suppress_errors: bool = False) -> Optional[SymbolTableNode]: + suppress_errors: bool = False + , annotation: bool = False) -> Optional[SymbolTableNode]: raise NotImplementedError @abstractmethod diff --git a/mypy/semanal_typeddict.py b/mypy/semanal_typeddict.py index 4087f477c..c558754fe 100644 --- a/mypy/semanal_typeddict.py +++ b/mypy/semanal_typeddict.py @@ -5,7 +5,7 @@ from typing_extensions import Final from mypy.types import ( - Type, AnyType, TypeOfAny, TypedDictType, TPDICT_NAMES, RequiredType, + Type, TypedDictType, TPDICT_NAMES, RequiredType, UntypedType, ) from mypy.nodes import ( CallExpr, TypedDictExpr, Expression, NameExpr, Context, StrExpr, BytesExpr, UnicodeExpr, @@ -161,7 +161,7 @@ def analyze_typeddict_classdef_fields( # Append name and type in this case... fields.append(name) if stmt.type is None: - types.append(AnyType(TypeOfAny.unannotated)) + types.append(UntypedType()) else: analyzed = self.api.anal_type(stmt.type, allow_required=True) if analyzed is None: diff --git a/mypy/stubgen.py b/mypy/stubgen.py index 34d01b337..392b5c40b 100755 --- a/mypy/stubgen.py +++ b/mypy/stubgen.py @@ -175,7 +175,8 @@ def __init__(self, files: List[str], verbose: bool, quiet: bool, - export_less: bool) -> None: + export_less: bool, + legacy: bool) -> None: # See parse_options for descriptions of the flags. self.pyversion = pyversion self.no_import = no_import @@ -193,6 +194,7 @@ def __init__(self, self.verbose = verbose self.quiet = quiet self.export_less = export_less + self.legacy = legacy class StubSource: @@ -534,7 +536,8 @@ def __init__(self, _all_: Optional[List[str]], pyversion: Tuple[int, int], include_private: bool = False, analyzed: bool = False, - export_less: bool = False) -> None: + export_less: bool = False, + legacy: bool = False) -> None: # Best known value of __all__. self._all_ = _all_ self._output: List[str] = [] @@ -554,6 +557,8 @@ def __init__(self, self.analyzed = analyzed # Disable implicit exports of package-internal imports? self.export_less = export_less + # Don't use based features? + self.legacy = legacy # Add imports that could be implicitly generated self.import_tracker.add_import_from("typing", [("NamedTuple", None)]) # Names in __all__ are required @@ -571,6 +576,7 @@ def visit_mypy_file(self, o: MypyFile) -> None: self.referenced_names = find_referenced_names(o) known_imports = { "_typeshed": ["Incomplete"], + "basedtyping": ["Untyped"], "typing": ["Any", "TypeVar"], "collections.abc": ["Generator"], } @@ -694,21 +700,23 @@ def visit_func_def(self, o: FuncDef, is_abstract: bool = False, return_name = 'None' for expr, in_assignment in all_yield_expressions(o): if expr.expr is not None and not self.is_none_expr(expr.expr): - self.add_typing_import('Incomplete') - yield_name = 'Incomplete' + yield_name = self.untyped if in_assignment: - self.add_typing_import('Incomplete') - send_name = 'Incomplete' + send_name = self.untyped if has_return_statement(o): - self.add_typing_import('Incomplete') - return_name = 'Incomplete' + return_name = self.untyped generator_name = self.typing_name('Generator') retname = f'{generator_name}[{yield_name}, {send_name}, {return_name}]' elif not has_return_statement(o) and not is_abstract: - retname = 'None' + retname = '' retfield = '' - if retname is not None: - retfield = ' -> ' + retname + if not self.legacy: + if retname is None: + retfield = f' -> {self.untyped}' + elif retname: + retfield = f' -> {retname}' + elif retname is not None: + retfield = ' -> ' + (retname or 'None') self.add(', '.join(args)) self.add(f"){retfield}: ...\n") @@ -961,18 +969,16 @@ def process_namedtuple(self, lvalue: NameExpr, rvalue: CallExpr) -> None: list_items = cast(List[StrExpr], rvalue.args[1].items) items = [item.value for item in list_items] else: - self.add(f'{self._indent}{lvalue.name}: Incomplete') - self.import_tracker.require_name('Incomplete') + self.add(f'{self._indent}{lvalue.name}: {self.untyped}') return self.import_tracker.require_name('NamedTuple') self.add(f'{self._indent}class {lvalue.name}(NamedTuple):') if len(items) == 0: self.add(' ...\n') else: - self.import_tracker.require_name('Incomplete') self.add('\n') for item in items: - self.add(f'{self._indent} {item}: Incomplete\n') + self.add(f'{self._indent} {item}: {self.untyped}\n') self._state = CLASS def is_alias_expression(self, expr: Expression, top_level: bool = True) -> bool: @@ -1151,13 +1157,22 @@ def typing_name(self, name: str) -> str: else: return name - def add_typing_import(self, name: str) -> None: + @property + def untyped(self) -> str: + if not self.legacy: + result = "Untyped" + else: + result = "Incomplete" + return self.add_typing_import(result) + + def add_typing_import(self, name: str) -> str: """Add a name to be imported from typing, unless it's imported already. The import will be internal to the stub. """ name = self.typing_name(name) self.import_tracker.require_name(name) + return name def add_abc_import(self, name: str) -> None: """Add a name to be imported from collections.abc, unless it's imported already. @@ -1226,11 +1241,9 @@ def get_str_type_of_node(self, rvalue: Expression, return 'bool' if can_infer_optional and \ isinstance(rvalue, NameExpr) and rvalue.name == 'None': - self.add_typing_import('Incomplete') - return f"{self.typing_name('Incomplete')} | None" + return f"{self.untyped} | None" if can_be_any: - self.add_typing_import('Incomplete') - return self.typing_name('Incomplete') + return self.untyped else: return '' @@ -1313,7 +1326,7 @@ def is_blacklisted_path(path: str) -> bool: def normalize_path_separators(path: str) -> str: if sys.platform == 'win32': return path.replace('\\', '/') - return path + return path # type: ignore[unreachable, unused-ignore] def collect_build_targets(options: Options, mypy_opts: MypyOptions) -> Tuple[List[StubSource], @@ -1527,7 +1540,8 @@ def generate_stub_from_ast(mod: StubSource, parse_only: bool = False, pyversion: Tuple[int, int] = defaults.PYTHON3_VERSION, include_private: bool = False, - export_less: bool = False) -> None: + export_less: bool = False, + legacy: bool = False) -> None: """Use analysed (or just parsed) AST to generate type stub for single file. If directory for target doesn't exist it will created. Existing stub @@ -1537,7 +1551,8 @@ def generate_stub_from_ast(mod: StubSource, pyversion=pyversion, include_private=include_private, analyzed=not parse_only, - export_less=export_less) + export_less=export_less, + legacy=legacy) assert mod.ast is not None, "This function must be used only with analyzed modules" mod.ast.accept(gen) @@ -1593,7 +1608,8 @@ def generate_stubs(options: Options) -> None: generate_stub_from_ast(mod, target, options.parse_only, options.pyversion, options.include_private, - options.export_less) + options.export_less, + options.legacy) # Separately analyse C modules using different logic. for mod in c_modules: @@ -1664,6 +1680,8 @@ def parse_options(args: List[str]) -> Options: "Python 2 right now)") parser.add_argument('-o', '--output', metavar='PATH', dest='output_dir', default='out', help="change the output directory [default: %(default)s]") + parser.add_argument("--legacy", action='store_true', + help="don't used based features") parser.add_argument('-m', '--module', action='append', metavar='MODULE', dest='modules', default=[], help="generate stub for module; can repeat for more modules") @@ -1701,7 +1719,8 @@ def parse_options(args: List[str]) -> Options: files=ns.files, verbose=ns.verbose, quiet=ns.quiet, - export_less=ns.export_less) + export_less=ns.export_less, + legacy=ns.legacy) def main(args: Optional[List[str]] = None) -> None: diff --git a/mypy/stubtest.py b/mypy/stubtest.py index b4447d798..11f343d87 100644 --- a/mypy/stubtest.py +++ b/mypy/stubtest.py @@ -1203,8 +1203,8 @@ def get_mypy_type_of_runtime_value(runtime: Any) -> Optional[mypy.types.Type]: # Give up on properties to avoid issues with things that are typed as attributes. return None - def anytype() -> mypy.types.AnyType: - return mypy.types.AnyType(mypy.types.TypeOfAny.unannotated) + def anytype() -> mypy.types.UntypedType: + return mypy.types.UntypedType() if isinstance( runtime, diff --git a/mypy/subtypes.py b/mypy/subtypes.py index 1e76912de..8fc1aa39b 100644 --- a/mypy/subtypes.py +++ b/mypy/subtypes.py @@ -9,6 +9,7 @@ ErasedType, PartialType, DeletedType, UninhabitedType, TypeType, is_named_instance, FunctionLike, TypeOfAny, LiteralType, get_proper_type, TypeAliasType, ParamSpecType, Parameters, UnpackType, TUPLE_LIKE_INSTANCE_NAMES, TYPED_NAMEDTUPLE_NAMES, TypeVarTupleType, + UntypedType ) import mypy.applytype import mypy.constraints @@ -662,7 +663,7 @@ def f(self) -> A: ... return False if isinstance(subtype, PartialType): subtype = NoneType() if subtype.type is None else Instance( - subtype.type, [AnyType(TypeOfAny.unannotated)] * len(subtype.type.type_vars) + subtype.type, [UntypedType()] * len(subtype.type.type_vars) ) if not proper_subtype: # Nominal check currently ignores arg names diff --git a/mypy/test/data.py b/mypy/test/data.py index 18d25fc74..47bd70199 100644 --- a/mypy/test/data.py +++ b/mypy/test/data.py @@ -261,6 +261,7 @@ def __init__(self, self.line = line self.old_cwd: Optional[str] = None self.tmpdir: Optional[tempfile.TemporaryDirectory[str]] = None + os.environ["__MYPY_UNDER_TEST__"] = "1" def runtest(self) -> None: if self.skip: @@ -578,7 +579,7 @@ def pytest_pycollect_makeitem(collector: Any, name: str, # Non-None result means this obj is a test case. # The collect method of the returned DataSuiteCollector instance will be called later, # with self.obj being obj. - return DataSuiteCollector.from_parent( # type: ignore[no-untyped-call] + return DataSuiteCollector.from_parent( # type: ignore[unused-ignore, no-untyped-call] parent=collector, name=name, ) return None @@ -613,7 +614,7 @@ def split_test_cases(parent: 'DataFileCollector', suite: 'DataSuite', name, parent.name, line_no, )) platform = platform_flag[1:] if platform_flag else None - yield DataDrivenTestCase.from_parent( + yield DataDrivenTestCase.from_parent( # type: ignore[unused-ignore, no-untyped-call] parent=parent, suite=suite, file=file, diff --git a/mypy/test/helpers.py b/mypy/test/helpers.py index 78b5d4c06..e3485e588 100644 --- a/mypy/test/helpers.py +++ b/mypy/test/helpers.py @@ -8,7 +8,7 @@ from typing import List, Iterable, Dict, Tuple, Callable, Any, Iterator, Union, Pattern, Optional -from mypy import defaults +from mypy import defaults, errorcodes import mypy.api as api import pytest @@ -366,8 +366,12 @@ def assert_type(typ: type, value: object) -> None: def parse_options(program_text: str, testcase: DataDrivenTestCase, - incremental_step: int) -> Options: + incremental_step: int, based: bool = False) -> Options: """Parse comments like '# flags: --foo' in a test case.""" + import mypy.options + # This is extremely sus as it's a global option shared by all tests. + # But it seems to be okay (I tested it) + mypy.options._based = based options = Options() flags = re.search('# flags: (.*)$', program_text, flags=re.MULTILINE) if incremental_step > 1: @@ -377,8 +381,15 @@ def parse_options(program_text: str, testcase: DataDrivenTestCase, flags = flags2 if flags: - flag_list = flags.group(1).split() + flag_list: List[str] = flags.group(1).split() + if based: + flag_list.insert(0, '--default-return') + flag_list.append('--hide-column-numbers') + flag_list.extend(['--enable-error-code', "no-untyped-usage"]) flag_list.append('--no-site-packages') # the tests shouldn't need an installed Python + if "--local-partial-types" in flag_list: + flag_list.remove("--local-partial-types") + flag_list.append("--no-nonlocal-partial-types") targets, options = process_options(flag_list, require_targets=False) if targets: # TODO: support specifying targets via the flags pragma @@ -386,8 +397,16 @@ def parse_options(program_text: str, testcase: DataDrivenTestCase, else: flag_list = [] options = Options() - # TODO: Enable strict optional in test cases by default (requires *many* test case changes) - options.strict_optional = False + if based: + options.show_column_numbers = False + options.default_return = True + options.enabled_error_codes.update({ + errorcodes.NO_UNTYPED_USAGE, + }) + else: + # TODO: Enable strict optional in test cases by default + # (requires *many* test case changes) + options.strict_optional = False options.error_summary = False # Allow custom python version to override testcase_pyversion. @@ -487,11 +506,11 @@ def normalize_file_output(content: List[str], current_abs_path: str) -> List[str """Normalize file output for comparison.""" timestamp_regex = re.compile(r'\d{10}') result = [x.replace(current_abs_path, '$PWD') for x in content] - version = mypy.version.__version__ + version = mypy.version.__based_version__ result = [re.sub(r'\b' + re.escape(version) + r'\b', '$VERSION', x) for x in result] # We generate a new mypy.version when building mypy wheels that # lacks base_version, so handle that case. - base_version = getattr(mypy.version, 'base_version', version) + base_version = getattr(mypy.version, 'base_based_version', version) result = [re.sub(r'\b' + re.escape(base_version) + r'\b', '$VERSION', x) for x in result] result = [timestamp_regex.sub('$TIMESTAMP', x) for x in result] return result diff --git a/mypy/test/testargs.py b/mypy/test/testargs.py index 8d74207f3..fb3aa3804 100644 --- a/mypy/test/testargs.py +++ b/mypy/test/testargs.py @@ -14,6 +14,9 @@ class ArgSuite(Suite): def test_coherence(self) -> None: + import mypy.options + + mypy.options._based = False options = Options() _, parsed_options = process_options([], require_targets=False) # FIX: test this too. Requires changing working dir to avoid finding 'setup.cfg' diff --git a/mypy/test/testcheck.py b/mypy/test/testcheck.py index dc2a2ba07..7b02450bf 100644 --- a/mypy/test/testcheck.py +++ b/mypy/test/testcheck.py @@ -31,7 +31,9 @@ # List of files that contain test case descriptions. # Includes all check-* files with the .test extension in the test-data/unit directory -typecheck_files = find_test_files(pattern="check-*.test") +based_files = find_test_files(pattern="check-based-*.test") +typecheck_files = find_test_files(pattern="check-*.test", exclude=based_files) + # Tests that use Python 3.8-only AST features (like expression-scoped ignores): if sys.version_info < (3, 8): @@ -47,7 +49,10 @@ class TypeCheckSuite(DataSuite): - files = typecheck_files + files = typecheck_files + based_files + + def based(self, testcase: DataDrivenTestCase) -> bool: + return "based" in testcase.file.rsplit(os.sep)[-1] def run_case(self, testcase: DataDrivenTestCase) -> None: if lxml is None and os.path.basename(testcase.file) == 'check-reports.test': @@ -97,8 +102,9 @@ def run_case_once(self, testcase: DataDrivenTestCase, # In runs 2+, copy *.[num] files to * files. perform_file_operations(operations) + based = self.based(testcase) # Parse options after moving files (in case mypy.ini is being moved). - options = parse_options(original_program_text, testcase, incremental_step) + options = parse_options(original_program_text, testcase, incremental_step, based=based) options.use_builtins_fixtures = True options.enable_incomplete_features = True options.show_traceback = True @@ -141,6 +147,13 @@ def run_case_once(self, testcase: DataDrivenTestCase, assert sys.path[0] == plugin_dir del sys.path[0] + # When running the legacy tests in based mode, we just make sure they don't crash + if isinstance(self, BasedTypeCheckSuite): + # We fail xfail tests explicitly + if testcase.xfail: + raise AssertionError() + return + if testcase.normalize_output: a = normalize_error_messages(a) @@ -159,6 +172,9 @@ def run_case_once(self, testcase: DataDrivenTestCase, else: raise AssertionError() + # BASED: inject sussy new line + # This is to enable newlines characters in expected error messages + output = [it.replace("$NL", "\n") for it in output] if output != a and testcase.config.getoption('--update-data', False): update_testcase_output(testcase, a) assert_string_arrays_equal(output, a, msg.format(testcase.file, testcase.line)) @@ -285,3 +301,10 @@ def parse_module(self, return out else: return [('__main__', 'main', program_text)] + + +class BasedTypeCheckSuite(TypeCheckSuite): + files = typecheck_files + + def based(self, testcase: DataDrivenTestCase) -> bool: + return True diff --git a/mypy/test/testcmdline.py b/mypy/test/testcmdline.py index 9983dc554..ebdb490cf 100644 --- a/mypy/test/testcmdline.py +++ b/mypy/test/testcmdline.py @@ -31,6 +31,7 @@ # Files containing test case descriptions. cmdline_files = [ 'cmdline.test', + 'cmdline-based-baseline.test', 'cmdline.pyproject.test', 'reports.test', 'envvars.test', @@ -58,7 +59,11 @@ def test_python_cmdline(testcase: DataDrivenTestCase, step: int) -> None: file.write(f'{s}\n') args = parse_args(testcase.input[0]) custom_cwd = parse_cwd(testcase.input[1]) if len(testcase.input) > 1 else None + if "# dont-normalize-output:" in testcase.input: + testcase.normalize_output = False args.append('--show-traceback') + if 'based' not in testcase.file.rsplit(os.sep)[-1]: + args.append('--legacy') if '--error-summary' not in args: args.append('--no-error-summary') # Type check the program. @@ -67,6 +72,7 @@ def test_python_cmdline(testcase: DataDrivenTestCase, step: int) -> None: env.pop('COLUMNS', None) extra_path = os.path.join(os.path.abspath(test_temp_dir), 'pypath') env['PYTHONPATH'] = PREFIX + env["__MYPY_UNDER_TEST__"] = "1" if os.path.isdir(extra_path): env['PYTHONPATH'] += os.pathsep + extra_path process = subprocess.Popen(fixed + args, @@ -94,6 +100,7 @@ def test_python_cmdline(testcase: DataDrivenTestCase, step: int) -> None: os.remove(program_path) # Compare actual output to expected. if testcase.output_files: + assert not testcase.output, "output not checked when outfile supplied" # Ignore stdout, but we insist on empty stderr and zero status. if err or result: raise AssertionError( diff --git a/mypy/test/testdaemon.py b/mypy/test/testdaemon.py index 804a562e7..eab04f91a 100644 --- a/mypy/test/testdaemon.py +++ b/mypy/test/testdaemon.py @@ -45,6 +45,8 @@ def test_daemon(testcase: DataDrivenTestCase) -> None: assert cmd.startswith('$') cmd = cmd[1:].strip() cmd = cmd.replace('{python}', sys.executable) + if cmd.split()[1] in ("start", "restart", "run"): + cmd = cmd.replace("-- ", "-- --legacy ") sts, output = run_cmd(cmd) output_lines = output.splitlines() output_lines = normalize_error_messages(output_lines) diff --git a/mypy/test/testerrorstream.py b/mypy/test/testerrorstream.py index 278fc1152..bedfbedf8 100644 --- a/mypy/test/testerrorstream.py +++ b/mypy/test/testerrorstream.py @@ -23,6 +23,8 @@ def test_error_stream(testcase: DataDrivenTestCase) -> None: The argument contains the description of the test case. """ + import mypy.options + mypy.options._based = False options = Options() options.show_traceback = True diff --git a/mypy/test/testgraph.py b/mypy/test/testgraph.py index 7d32db2b1..2d1efa572 100644 --- a/mypy/test/testgraph.py +++ b/mypy/test/testgraph.py @@ -7,7 +7,7 @@ from mypy.build import BuildManager, State, BuildSourceSet from mypy.modulefinder import SearchPaths from mypy.build import topsort, strongly_connected_components, sorted_components, order_ascc -from mypy.version import __version__ +from mypy.version import __based_version__ from mypy.options import Options from mypy.report import Reports from mypy.plugin import Plugin @@ -47,7 +47,7 @@ def _make_manager(self) -> BuildManager: source_set=BuildSourceSet([]), reports=Reports('', {}), options=options, - version_id=__version__, + version_id=__based_version__, plugin=Plugin(options), plugins_snapshot={}, errors=errors, diff --git a/mypy/test/testpep561.py b/mypy/test/testpep561.py index 0f327658c..065fbc54d 100644 --- a/mypy/test/testpep561.py +++ b/mypy/test/testpep561.py @@ -115,7 +115,7 @@ def test_pep561(testcase: DataDrivenTestCase) -> None: f.write(f'{s}\n') cmd_line.append(program) - cmd_line.extend(['--no-error-summary']) + cmd_line.extend(['--no-error-summary', "--legacy"]) if python_executable != sys.executable: cmd_line.append(f'--python-executable={python_executable}') diff --git a/mypy/test/testpythoneval.py b/mypy/test/testpythoneval.py index 770738294..26c3cb9b4 100644 --- a/mypy/test/testpythoneval.py +++ b/mypy/test/testpythoneval.py @@ -58,6 +58,7 @@ def test_python_evaluation(testcase: DataDrivenTestCase, cache_dir: str) -> None '--no-strict-optional', '--no-silence-site-packages', '--no-error-summary', + '--legacy', ] py2 = testcase.name.lower().endswith('python2') if py2: diff --git a/mypy/test/teststubgen.py b/mypy/test/teststubgen.py index 3c2b2967f..f85d443b7 100644 --- a/mypy/test/teststubgen.py +++ b/mypy/test/teststubgen.py @@ -556,7 +556,7 @@ class StubgenPythonSuite(DataSuite): required_out_section = True base_path = '.' - files = ['stubgen.test'] + files = ['stubgen.test', 'stubgen-based.test'] def run_case(self, testcase: DataDrivenTestCase) -> None: with local_sys_path_set(): @@ -578,6 +578,10 @@ def run_case_inner(self, testcase: DataDrivenTestCase) -> None: f.write(content) options = self.parse_flags(source, extra) + print(testcase.name) + print(testcase.file) + if "based" not in testcase.file.split(os.sep)[-1]: + options.legacy = True modules = self.parse_modules(source) out_dir = 'out' try: diff --git a/mypy/tvar_scope.py b/mypy/tvar_scope.py index ecb00938f..99aa225b4 100644 --- a/mypy/tvar_scope.py +++ b/mypy/tvar_scope.py @@ -61,7 +61,9 @@ def class_frame(self, namespace: str) -> 'TypeVarLikeScope': """A new scope frame for binding a class. Prohibits *this* class's tvars""" return TypeVarLikeScope(self.get_function_scope(), True, self, namespace=namespace) - def bind_new(self, name: str, tvar_expr: TypeVarLikeExpr) -> TypeVarLikeType: + def bind_new( + self, name: str, tvar_expr: TypeVarLikeExpr, scopename: Optional[str] = None + ) -> TypeVarLikeType: if self.is_class_scope: self.class_id += 1 i = self.class_id @@ -80,7 +82,8 @@ def bind_new(self, name: str, tvar_expr: TypeVarLikeExpr) -> TypeVarLikeType: upper_bound=tvar_expr.upper_bound, variance=tvar_expr.variance, line=tvar_expr.line, - column=tvar_expr.column + column=tvar_expr.column, + scopename=scopename, ) elif isinstance(tvar_expr, ParamSpecExpr): tvar_def = ParamSpecType( diff --git a/mypy/typeanal.py b/mypy/typeanal.py index 38970db66..fc8b0c072 100644 --- a/mypy/typeanal.py +++ b/mypy/typeanal.py @@ -5,7 +5,8 @@ from contextlib import contextmanager from mypy.backports import OrderedDict -from typing import Callable, List, Optional, Set, Tuple, Iterator, TypeVar, Iterable, Sequence +from typing import Callable, List, Optional, Set, Tuple, Iterator, TypeVar, Iterable, Sequence, \ + Union from typing_extensions import Final, Protocol from mypy.messages import MessageBuilder, quote_type_string, format_type_bare @@ -18,7 +19,7 @@ PlaceholderType, Overloaded, get_proper_type, TypeAliasType, RequiredType, TypeVarLikeType, ParamSpecType, ParamSpecFlavor, UnpackType, TypeVarTupleType, callable_with_ellipsis, TYPE_ALIAS_NAMES, FINAL_TYPE_NAMES, - LITERAL_TYPE_NAMES, ANNOTATED_TYPE_NAMES, + LITERAL_TYPE_NAMES, ANNOTATED_TYPE_NAMES, UntypedType, ) from mypy.nodes import ( @@ -26,7 +27,7 @@ get_nongen_builtins, check_arg_names, check_arg_kinds, ArgKind, ARG_POS, ARG_NAMED, ARG_OPT, ARG_NAMED_OPT, ARG_STAR, ARG_STAR2, TypeVarExpr, TypeVarLikeExpr, ParamSpecExpr, TypeAlias, PlaceholderNode, SYMBOL_FUNCBASE_TYPES, Decorator, MypyFile, - TypeVarTupleExpr + TypeVarTupleExpr, FuncItem ) from mypy.typetraverser import TypeTraverserVisitor from mypy.tvar_scope import TypeVarLikeScope @@ -177,7 +178,7 @@ def visit_unbound_type(self, t: UnboundType, defining_literal: bool = False) -> return typ def visit_unbound_type_nonoptional(self, t: UnboundType, defining_literal: bool) -> Type: - sym = self.lookup_qualified(t.name, t) + sym = self.lookup_qualified(t.name, t, annotation=True) if sym is not None: node = sym.node if isinstance(node, PlaceholderNode): @@ -236,6 +237,7 @@ def visit_unbound_type_nonoptional(self, t: UnboundType, defining_literal: bool) return TypeVarType( tvar_def.name, tvar_def.fullname, tvar_def.id, tvar_def.values, tvar_def.upper_bound, tvar_def.variance, line=t.line, column=t.column, + scopename=tvar_def.scopename, ) if isinstance(sym.node, TypeVarTupleExpr) and ( tvar_def is not None and self.defining_alias @@ -439,6 +441,8 @@ def try_analyze_special_unbound_type(self, t: UnboundType, fullname: str) -> Opt return UnpackType( self.anal_type(t.args[0]), line=t.line, column=t.column, ) + elif fullname == "basedtyping.Untyped": + return UntypedType(TypeOfAny.explicit) return None def get_omitted_any(self, typ: Type, fullname: Optional[str] = None) -> AnyType: @@ -692,7 +696,7 @@ def visit_callable_type(self, t: CallableType, nested: bool = True) -> Type: def anal_type_guard(self, t: Type) -> Optional[Type]: if isinstance(t, UnboundType): - sym = self.lookup_qualified(t.name, t) + sym = self.lookup_qualified(t.name, t, annotation=True) if sym is not None and sym.node is not None: return self.anal_type_guard_arg(t, sym.node.fullname) # TODO: What if it's an Instance? Then use t.type.fullname? @@ -1132,16 +1136,19 @@ def infer_type_variables(self, return list(zip(names, tvars)) def bind_function_type_variables( - self, fun_type: CallableType, defn: Context + self, fun_type: CallableType, defn: Union[CallableType, FuncItem] ) -> Sequence[TypeVarLikeType]: """Find the type variables of the function type and bind them in our tvar_scope""" if fun_type.variables: for var in fun_type.variables: - var_node = self.lookup_qualified(var.name, defn) + var_node = self.lookup_qualified(var.name, defn, annotation=True) assert var_node, "Binding for function type variable not found within function" var_expr = var_node.node assert isinstance(var_expr, TypeVarLikeExpr) - self.tvar_scope.bind_new(var.name, var_expr) + self.tvar_scope.bind_new( + var.name, var_expr, + scopename=var.scopename if isinstance(var, TypeVarType) else None + ) return fun_type.variables typevars = self.infer_type_variables(fun_type) # Do not define a new type variable if already defined in scope. @@ -1151,7 +1158,7 @@ def bind_function_type_variables( for name, tvar in typevars: if not self.tvar_scope.allow_binding(tvar.fullname): self.fail(f'Type variable "{name}" is bound by an outer class', defn) - self.tvar_scope.bind_new(name, tvar) + self.tvar_scope.bind_new(name, tvar, scopename=defn.name) binding = self.tvar_scope.get_binding(tvar.fullname) assert binding is not None defs.append(binding) @@ -1211,7 +1218,8 @@ def anal_var_def(self, var_def: TypeVarLikeType) -> TypeVarLikeType: self.anal_array(var_def.values), var_def.upper_bound.accept(self), var_def.variance, - var_def.line + var_def.line, + scopename=var_def.scopename, ) else: return var_def @@ -1303,9 +1311,9 @@ def get_omitted_any(disallow_any: bool, fail: MsgCallback, note: MsgCallback, typ, code=codes.TYPE_ARG) - any_type = AnyType(TypeOfAny.from_error, line=typ.line, column=typ.column) + any_type = UntypedType(TypeOfAny.from_omitted_generics, line=typ.line, column=typ.column) else: - any_type = AnyType( + any_type = UntypedType( TypeOfAny.from_omitted_generics, line=orig_type.line, column=orig_type.column ) return any_type @@ -1402,7 +1410,7 @@ def set_any_tvars(node: TypeAlias, disallow_any: bool = False, fail: Optional[MsgCallback] = None, unexpanded_type: Optional[Type] = None) -> Type: - if from_error or disallow_any: + if from_error: type_of_any = TypeOfAny.from_error else: type_of_any = TypeOfAny.from_omitted_generics @@ -1432,11 +1440,17 @@ def flatten_tvars(ll: Iterable[List[T]]) -> List[T]: return remove_dups(chain.from_iterable(ll)) +class _LookupFn(Protocol): + def __call__( + self, __a: str, __b: Context, __c: bool = ..., annotation: bool = ... + ) -> Optional[SymbolTableNode]: ... + + class TypeVarLikeQuery(TypeQuery[TypeVarLikeList]): """Find TypeVar and ParamSpec references in an unbound type.""" def __init__(self, - lookup: Callable[[str, Context], Optional[SymbolTableNode]], + lookup: _LookupFn, scope: 'TypeVarLikeScope', *, include_callables: bool = True, @@ -1466,7 +1480,7 @@ def visit_unbound_type(self, t: UnboundType) -> TypeVarLikeList: node = n name = base if node is None: - node = self.lookup(name, t) + node = self.lookup(name, t, annotation=True) if node and isinstance(node.node, TypeVarLikeExpr) and ( self.include_bound_tvars or self.scope.get_binding(node) is None): assert isinstance(node.node, TypeVarLikeExpr) @@ -1512,7 +1526,7 @@ def __init__(self) -> None: super().__init__(any) def visit_any(self, t: AnyType) -> bool: - return t.type_of_any == TypeOfAny.explicit + return t.type_of_any == TypeOfAny.explicit and not isinstance(t, UntypedType) def visit_typeddict_type(self, t: TypedDictType) -> bool: # typeddict is checked during TypedDict declaration, so don't typecheck it here. diff --git a/mypy/typeops.py b/mypy/typeops.py index b47c3c246..e196b8489 100644 --- a/mypy/typeops.py +++ b/mypy/typeops.py @@ -4,8 +4,10 @@ cycles. These must not be called from the semantic analysis main pass since these may assume that MROs are ready. """ - -from typing import cast, Optional, List, Sequence, Set, Iterable, TypeVar, Dict, Tuple, Any, Union +from collections import defaultdict +from typing import ( + cast, Optional, List, Sequence, Set, Iterable, TypeVar, Dict, Tuple, Any, Union, Callable +) from typing_extensions import Type as TypingType import itertools import sys @@ -15,11 +17,11 @@ TypeVarType, UninhabitedType, FormalArgument, UnionType, NoneType, AnyType, TypeOfAny, TypeType, ProperType, LiteralType, get_proper_type, get_proper_types, TypeAliasType, TypeQuery, ParamSpecType, Parameters, UnpackType, TypeVarTupleType, - ENUM_REMOVED_PROPS, + ENUM_REMOVED_PROPS, is_unannotated_any, UntypedType ) from mypy.nodes import ( FuncBase, FuncItem, FuncDef, OverloadedFuncDef, TypeInfo, ARG_STAR, ARG_STAR2, ARG_POS, - Expression, StrExpr, Var, Decorator, SYMBOL_FUNCBASE_TYPES + Expression, StrExpr, Var, Decorator, SYMBOL_FUNCBASE_TYPES, OverloadPart ) from mypy.maptype import map_instance_to_supertype from mypy.expandtype import expand_type_by_instance, expand_type @@ -608,15 +610,15 @@ def callable_type(fdef: FuncItem, fallback: Instance, self_type: Type = fill_typevars(fdef.info) if fdef.is_class or fdef.name == '__new__': self_type = TypeType.make_normalized(self_type) - args = [self_type] + [AnyType(TypeOfAny.unannotated)] * (len(fdef.arg_names)-1) + args = [self_type] + [UntypedType()] * (len(fdef.arg_names)-1) else: - args = [AnyType(TypeOfAny.unannotated)] * len(fdef.arg_names) + args = [UntypedType()] * len(fdef.arg_names) return CallableType( args, fdef.arg_kinds, fdef.arg_names, - ret_type or AnyType(TypeOfAny.unannotated), + ret_type or UntypedType(), fallback, name=fdef.name, line=fdef.line, @@ -917,3 +919,70 @@ def separate_union_literals(t: UnionType) -> Tuple[Sequence[LiteralType], Sequen union_items.append(item) return literal_items, union_items + + +def infer_impl_from_parts(impl: OverloadPart, types: List[CallableType], fallback: Instance, + named_type: Callable[[str, List[Type]], Type]): + impl_func = impl if isinstance(impl, FuncDef) else impl.func + # infer the types of the impl from the overload types + arg_types: Dict[str, List[Type]] = defaultdict(list) + ret_types = [] + for tp in types: + for arg_type, arg_name, impl_kind in zip(tp.arg_types, tp.arg_names, tp.arg_kinds): + if arg_name in impl_func.arg_names: + if arg_name and arg_name in impl_func.arg_names: + if arg_type not in arg_types[arg_name]: + arg_types[arg_name].append(arg_type) + t = get_proper_type(tp.ret_type) + if isinstance(t, Instance) and t.type.fullname == "typing.Coroutine": + ret_type = t.args[2] + else: + ret_type = tp.ret_type + if ret_type not in ret_types: + ret_types.append(ret_type) + arg_types2 = { + name: UnionType.make_union(it) + for name, it in arg_types.items() + } + res_arg_types = [ + arg_types2[arg_name] + if arg_name in arg_types2 and arg_kind not in (ARG_STAR, ARG_STAR2) + else UntypedType() + for arg_name, arg_kind in zip(impl_func.arg_names, impl_func.arg_kinds) + ] + ret_type = UnionType.make_union(ret_types) + + if impl_func.is_coroutine: + # if the impl is a coroutine, then assume the parts are also, if not need annotation + any_type = AnyType(TypeOfAny.special_form) + ret_type = named_type("typing.Coroutine", [any_type, any_type, ret_type]) + + # use unanalyzed_type because we would have already tried to infer from defaults + if impl_func.unanalyzed_type: + assert isinstance(impl_func.unanalyzed_type, CallableType) + assert isinstance(impl_func.type, CallableType) + impl_func.type = impl_func.type.copy_modified( + arg_types=[ + i if not is_unannotated_any(u) else r + for i, u, r + in zip( + impl_func.type.arg_types, + impl_func.unanalyzed_type.arg_types, + res_arg_types + ) + ], + ret_type=ret_type + if isinstance( + get_proper_type(impl_func.unanalyzed_type.ret_type), + (AnyType, NoneType), + ) + else impl_func.type.ret_type + ) + else: + impl_func.type = CallableType( + res_arg_types, + impl_func.arg_kinds, + impl_func.arg_names, + ret_type, + fallback, + ) diff --git a/mypy/types.py b/mypy/types.py index a70c6885d..481452e7d 100644 --- a/mypy/types.py +++ b/mypy/types.py @@ -1,11 +1,12 @@ """Classes for representing mypy types.""" +import contextlib import sys from abc import abstractmethod from typing import ( Any, TypeVar, Dict, List, Tuple, cast, Set, Optional, Union, Iterable, NamedTuple, - Sequence + Sequence, Generator ) from typing_extensions import ClassVar, Final, TYPE_CHECKING, overload, TypeAlias as _TypeAlias @@ -18,7 +19,7 @@ ) from mypy.util import IdMapper from mypy.bogus_type import Bogus - +import mypy.options T = TypeVar('T') @@ -502,18 +503,19 @@ def deserialize(cls, data: JsonDict) -> 'TypeVarLikeType': class TypeVarType(TypeVarLikeType): """Type that refers to a type variable.""" - __slots__ = ('values', 'variance') + __slots__ = ('values', 'variance', 'scopename') values: List[Type] # Value restriction, empty list if no restriction variance: int def __init__(self, name: str, fullname: str, id: Union[TypeVarId, int], values: List[Type], upper_bound: Type, variance: int = INVARIANT, line: int = -1, - column: int = -1) -> None: + column: int = -1, scopename: Optional[str] = None) -> None: super().__init__(name, fullname, id, upper_bound, line, column) assert values is not None, "No restrictions must be represented by empty list" self.values = values self.variance = variance + self.scopename = scopename @staticmethod def new_unification_variable(old: 'TypeVarType') -> 'TypeVarType': @@ -542,6 +544,7 @@ def serialize(self) -> JsonDict: 'values': [v.serialize() for v in self.values], 'upper_bound': self.upper_bound.serialize(), 'variance': self.variance, + 'scopename': self.scopename, } @classmethod @@ -554,6 +557,7 @@ def deserialize(cls, data: JsonDict) -> 'TypeVarType': [deserialize_type(v) for v in data['values']], deserialize_type(data['upper_bound']), data['variance'], + scopename=data['scopename'], ) @@ -939,17 +943,68 @@ def __eq__(self, other: object) -> bool: return isinstance(other, AnyType) def serialize(self) -> JsonDict: - return {'.class': 'AnyType', 'type_of_any': self.type_of_any, + return {'.class': type(self).__name__, 'type_of_any': self.type_of_any, 'source_any': self.source_any.serialize() if self.source_any is not None else None, 'missing_import_name': self.missing_import_name} @classmethod def deserialize(cls, data: JsonDict) -> 'AnyType': - assert data['.class'] == 'AnyType' + assert data['.class'] == cls.__name__ source = data['source_any'] - return AnyType(data['type_of_any'], - AnyType.deserialize(source) if source is not None else None, - data['missing_import_name']) + return cls(type_of_any=data['type_of_any'], + source_any=cast( + AnyType, deserialize_type(source)) if source is not None else None, + missing_import_name=data['missing_import_name']) + + def describe(self) -> str: + if not mypy.options._based: + return 'Any' + + def describe_type_of_any(type_of_any: int = self.type_of_any) -> Optional[str]: + if type_of_any == TypeOfAny.unannotated: + return "unannotated" + elif type_of_any == TypeOfAny.explicit: + return None + elif type_of_any == TypeOfAny.from_unimported_type: + return "from unimported type" + elif type_of_any == TypeOfAny.from_omitted_generics: + return "from omitted generics" + elif type_of_any == TypeOfAny.from_error: + return "from error" + elif type_of_any == TypeOfAny.special_form: + return None + elif type_of_any == TypeOfAny.from_another_any: + return (describe_type_of_any(self.source_any.type_of_any) + if self.source_any else None) + elif type_of_any == TypeOfAny.implementation_artifact: + return "from a limitation" + elif type_of_any == TypeOfAny.suggestion_engine: + return "from a suggestion" + assert False, "unreachable" + description = self.__class__.__name__.split("Type")[0] + type_of = describe_type_of_any() + if type_of: + return f'{description} ({type_of})' + return description + + +class UntypedType(AnyType): + def __init__(self, + type_of_any: int = TypeOfAny.unannotated, + source_any: Optional['AnyType'] = None, + missing_import_name: Optional[str] = None, + line: int = -1, + column: int = -1): + super().__init__(type_of_any, + source_any=source_any, + missing_import_name=missing_import_name, + line=line, + column=column) + + def describe(self) -> str: + if not mypy.options._based: + return super().describe() + return "Untyped" class UninhabitedType(ProperType): @@ -1498,6 +1553,7 @@ class CallableType(FunctionLike): 'type_guard', # T, if -> TypeGuard[T] (ret_type is bool in this case). 'from_concatenate', # whether this callable is from a concatenate object # (this is used for error messages) + 'fully_typed', # If all type positions are filled. ) def __init__(self, @@ -1562,6 +1618,9 @@ def __init__(self, else: self.def_extras = {} self.type_guard = type_guard + self.fully_typed = not ( + any(is_unannotated_any(arg) for arg in arg_types) or is_unannotated_any(ret_type) + ) def copy_modified(self, arg_types: Bogus[Sequence[Type]] = _dummy, @@ -2621,6 +2680,7 @@ class TypeStrVisitor(SyntheticTypeVisitor[str]): def __init__(self, id_mapper: Optional[IdMapper] = None) -> None: self.id_mapper = id_mapper self.any_as_dots = False + self._own_type_vars: Sequence[TypeVarLikeType] = [] def visit_unbound_type(self, t: UnboundType) -> str: s = t.name + '?' @@ -2641,7 +2701,7 @@ def visit_callable_argument(self, t: CallableArgument) -> str: def visit_any(self, t: AnyType) -> str: if self.any_as_dots and t.type_of_any == TypeOfAny.special_form: return '...' - return 'Any' + return t.describe() def visit_none_type(self, t: NoneType) -> str: return "None" @@ -2674,15 +2734,44 @@ def visit_instance(self, t: Instance) -> str: s += f'[{self.list_str(t.args)}]' if self.id_mapper: s += f'<{self.id_mapper.id(t.type)}>' + + return self.strip_builtins(s) + + @staticmethod + def strip_builtins(s: str) -> str: + if mypy.options._based: + if s.startswith("builtins."): + return s.partition(".")[2] return s + @contextlib.contextmanager + def own_type_vars( + self, type_vars: Optional[Sequence[TypeVarLikeType]] + ) -> Generator[None, None, None]: + if not mypy.options._based: + yield + else: + previous = self._own_type_vars + self._own_type_vars = type_vars or [] + yield + self._own_type_vars = previous + def visit_type_var(self, t: TypeVarType) -> str: if t.name is None: # Anonymous type variable type (only numeric id). s = f'`{t.id}' else: # Named type variable type. - s = f'{t.name}`{t.id}' + if mypy.options._based: + if t.scopename: + if t in self._own_type_vars: + s = t.name + else: + s = f"{t.name}@{t.scopename}" + else: + s = t.name + else: + s = f'{t.name}`{t.id}' if self.id_mapper and t.upper_bound: s += f'(upper_bound={t.upper_bound.accept(self)})' return s @@ -2741,63 +2830,73 @@ def visit_type_var_tuple(self, t: TypeVarTupleType) -> str: return s def visit_callable_type(self, t: CallableType) -> str: - param_spec = t.param_spec() - if param_spec is not None: - num_skip = 2 - else: - num_skip = 0 - - s = '' - bare_asterisk = False - for i in range(len(t.arg_types) - num_skip): - if s != '': - s += ', ' - if t.arg_kinds[i].is_named() and not bare_asterisk: - s += '*, ' - bare_asterisk = True - if t.arg_kinds[i] == ARG_STAR: - s += '*' - if t.arg_kinds[i] == ARG_STAR2: - s += '**' - name = t.arg_names[i] - if name: - s += name + ': ' - s += t.arg_types[i].accept(self) - if t.arg_kinds[i].is_optional(): - s += ' =' - - if param_spec is not None: - n = param_spec.name - if s: - s += ', ' - s += f'*{n}.args, **{n}.kwargs' - - s = f'({s})' - - if not isinstance(get_proper_type(t.ret_type), NoneType): - if t.type_guard is not None: - s += f' -> TypeGuard[{t.type_guard.accept(self)}]' + with self.own_type_vars(t.variables): + param_spec = t.param_spec() + if param_spec is not None: + num_skip = 2 else: - s += f' -> {t.ret_type.accept(self)}' - - if t.variables: - vs = [] - for var in t.variables: - if isinstance(var, TypeVarType): - # We reimplement TypeVarType.__repr__ here in order to support id_mapper. - if var.values: - vals = f"({', '.join(val.accept(self) for val in var.values)})" - vs.append(f'{var.name} in {vals}') - elif not is_named_instance(var.upper_bound, 'builtins.object'): - vs.append(f'{var.name} <: {var.upper_bound.accept(self)}') + num_skip = 0 + + s = '' + bare_asterisk = False + + for i in range(len(t.arg_types) - num_skip): + if s != '': + s += ', ' + if t.arg_kinds[i].is_named() and not bare_asterisk: + s += '*, ' + bare_asterisk = True + if t.arg_kinds[i] == ARG_STAR: + s += '*' + if t.arg_kinds[i] == ARG_STAR2: + s += '**' + name = t.arg_names[i] + if name: + s += name + ': ' + s += t.arg_types[i].accept(self) + if t.arg_kinds[i].is_optional(): + s += ' =' + + if param_spec is not None: + n = param_spec.name + if s: + s += ', ' + s += f'*{n}.args, **{n}.kwargs' + + s = f'({s})' + + if not isinstance(get_proper_type(t.ret_type), NoneType): + if t.type_guard is not None: + s += f' -> TypeGuard[{t.type_guard.accept(self)}]' + else: + s += f' -> {t.ret_type.accept(self)}' + + if t.variables: + vs = [] + for var in t.variables: + if isinstance(var, TypeVarType): + # We reimplement TypeVarType.__repr__ here in order to support id_mapper. + if ( + mypy.options._based + and var.scopename and t.name + and var.scopename != t.name.split(" ")[0] + ): + name = f"{var.name} (from {var.scopename})" + else: + name = var.name + if var.values: + vals = f"({', '.join(val.accept(self) for val in var.values)})" + vs.append(f'{name} in {vals}') + elif not is_named_instance(var.upper_bound, 'builtins.object'): + vs.append(f'{name} <: {var.upper_bound.accept(self)}') + else: + vs.append(name) else: + # For other TypeVarLikeTypes, just use the name vs.append(var.name) - else: - # For other TypeVarLikeTypes, just use the name - vs.append(var.name) - s = f"[{', '.join(vs)}] {s}" + s = f"[{', '.join(vs)}] {s}" - return f'def {s}' + return f'def {s}' def visit_overloaded(self, t: Overloaded) -> str: a = [] @@ -2810,8 +2909,12 @@ def visit_tuple_type(self, t: TupleType) -> str: if t.partial_fallback and t.partial_fallback.type: fallback_name = t.partial_fallback.type.fullname if fallback_name != 'builtins.tuple': - return f'Tuple[{s}, fallback={t.partial_fallback.accept(self)}]' - return f'Tuple[{s}]' + if not mypy.options._based: + return f'Tuple[{s}, fallback={t.partial_fallback.accept(self)}]' + return f'tuple[{s}, fallback={t.partial_fallback.accept(self)}]' + if not mypy.options._based: + return f'Tuple[{s}]' + return f"({s})" if len(t.items) != 1 else f"({s},)" def visit_typeddict_type(self, t: TypedDictType) -> str: def item_str(name: str, typ: str) -> str: @@ -2839,8 +2942,10 @@ def visit_star_type(self, t: StarType) -> str: return f'*{s}' def visit_union_type(self, t: UnionType) -> str: - s = self.list_str(t.items) - return f'Union[{s}]' + if not mypy.options._based: + s = self.list_str(t.items) + return f'Union[{s}]' + return self.union_str(t.items) def visit_partial_type(self, t: PartialType) -> str: if t.type is None: @@ -2853,7 +2958,9 @@ def visit_ellipsis_type(self, t: EllipsisType) -> str: return '...' def visit_type_type(self, t: TypeType) -> str: - return f'Type[{t.item.accept(self)}]' + if not mypy.options._based: + return f'Type[{t.item.accept(self)}]' + return f'type[{t.item.accept(self)}]' def visit_placeholder_type(self, t: PlaceholderType) -> str: return f'' @@ -2879,6 +2986,17 @@ def list_str(self, a: Iterable[Type]) -> str: res.append(t.accept(self)) return ', '.join(res) + def union_str(self, a: Iterable[Type]) -> str: + """Convert items of an array to strings (pretty-print types) + and join the results with commas. + """ + res = [] + for t in a: + res.append(t.accept(self)) + if not mypy.options._based: + return f"Union[{self.list_str(a)}]" + return ' | '.join(res) + class UnrollAliasVisitor(TypeTranslator): def __init__(self, initial_aliases: Set[TypeAliasType]) -> None: @@ -3061,3 +3179,9 @@ def callable_with_ellipsis(any_type: AnyType, ret_type=ret_type, fallback=fallback, is_ellipsis_args=True) + + +def is_unannotated_any(t: Type) -> bool: + if not isinstance(t, ProperType): + return False + return isinstance(t, AnyType) and t.type_of_any == TypeOfAny.unannotated diff --git a/mypy/typeshed/stdlib/types.pyi b/mypy/typeshed/stdlib/types.pyi index ecd42dbe3..7a7e6487f 100644 --- a/mypy/typeshed/stdlib/types.pyi +++ b/mypy/typeshed/stdlib/types.pyi @@ -18,7 +18,7 @@ from importlib.machinery import ModuleSpec # pytype crashes if types.MappingProxyType inherits from collections.abc.Mapping instead of typing.Mapping from typing import Any, ClassVar, Generic, Mapping, TypeVar, overload # noqa: Y027 -from typing_extensions import Literal, ParamSpec, final +from typing_extensions import Literal, ParamSpec, final, Final __all__ = [ "FunctionType", @@ -634,9 +634,8 @@ if sys.version_info >= (3, 9): def __getattr__(self, name: str) -> Any: ... # incomplete if sys.version_info >= (3, 10): - @final - class NoneType: - def __bool__(self) -> Literal[False]: ... + # This annotation allows `NoneType` to be used as a value of `type[None]` + NoneType: Final[type[None]] = ... EllipsisType = ellipsis # noqa: F821 from builtins from builtins import _NotImplementedType diff --git a/mypy/typeshed/stdlib/typing.pyi b/mypy/typeshed/stdlib/typing.pyi index acbce5cd3..d12c01c4a 100644 --- a/mypy/typeshed/stdlib/typing.pyi +++ b/mypy/typeshed/stdlib/typing.pyi @@ -1,3 +1,4 @@ +from _typeshed import Self import collections # Needed by aliases like DefaultDict, see mypy issue 2986 import sys from _typeshed import IdentityFunction, ReadableBuffer, Self as TypeshedSelf, SupportsKeysAndGetItem @@ -118,7 +119,7 @@ if sys.version_info >= (3, 11): # This itself is only available during type checking def type_check_only(func_or_cls: _F) -> _F: ... -Any = object() +Any: _SpecialForm = ... @_final class TypeVar: @@ -944,3 +945,52 @@ if sys.version_info >= (3, 7): if sys.version_info >= (3, 10): def is_typeddict(tp: object) -> bool: ... + +class _Final: + """Mixin to prohibit subclassing""" + + def __init_subclass__(__cls, *args: object, **kwds: object): ... + + +class _BaseGenericAlias(_Final, _root=True): + __origin__: type + def __init__(self, origin: type, *, inst: bool = ..., name: str | None = ...) -> None: + self._inst = inst + self._name = name + self.__origin__ = origin + +_Params = Union[type, Tuple[type, ...]] + +class _GenericAlias(_BaseGenericAlias, _root=True): + def __init__( + self, + origin: type, + params: _Params, + *, + inst: bool = ..., + name: str | None = ..., + _typevar_types: Type[TypeVar] = ..., + _paramspec_tvars: bool = ..., + ): + self.__args__: tuple[type, ...] + self.__parameters__: tuple[TypeVar, ...] + self._typevar_types = _typevar_types + self._paramspec_tvars = _paramspec_tvars + self.__module__ = origin.__module__ + # def __eq__(self, other: object) -> bool: + # ... + def __hash__(self) -> int: ... + def __or__(self, right: object) -> _SpecialForm: ... + def __ror__(self, left: object) -> _SpecialForm: ... + def __getitem__(self: Self, params: _Params) -> Self: ... + def copy_with(self: Self, params: _Params) -> Self: ... + # def __reduce__(self): + # if self._name: + # origin = globals()[self._name] + # else: + # origin = self.__origin__ + # args = tuple(self.__args__) + # if len(args) == 1 and not isinstance(args[0], tuple): + # args, = args + # return operator.getitem, (origin, args) + def __mro_entries__(self, bases: tuple[type, ...]) -> tuple[type, ...]: ... diff --git a/mypy/typevars.py b/mypy/typevars.py index b49194f34..62b971db5 100644 --- a/mypy/typevars.py +++ b/mypy/typevars.py @@ -19,7 +19,7 @@ def fill_typevars(typ: TypeInfo) -> Union[Instance, TupleType]: if isinstance(tv, TypeVarType): tv = TypeVarType( tv.name, tv.fullname, tv.id, tv.values, - tv.upper_bound, tv.variance, line=-1, column=-1, + tv.upper_bound, tv.variance, line=-1, column=-1, scopename=typ.name ) else: assert isinstance(tv, ParamSpecType) diff --git a/mypy/util.py b/mypy/util.py index 03db281ef..8406e3cb6 100644 --- a/mypy/util.py +++ b/mypy/util.py @@ -432,8 +432,8 @@ def check_python_version(program: str) -> None: """Report issues with the Python used to run mypy, dmypy, or stubgen""" # Check for known bad Python versions. if sys.version_info[:2] < (3, 6): - sys.exit("Running {name} with Python 3.5 or lower is not supported; " - "please upgrade to 3.6 or newer".format(name=program)) + sys.exit("Running {name} with Python 3.6 or lower is not supported; " + "please upgrade to 3.7 or newer".format(name=program)) def count_stats(messages: List[str]) -> Tuple[int, int, int]: @@ -521,7 +521,7 @@ def parse_gray_color(cup: bytes) -> str: """Reproduce a gray color in ANSI escape sequence""" if sys.platform == "win32": assert False, "curses is not available on Windows" - set_color = ''.join([cup[:-1].decode(), 'm']) + set_color = ''.join([cup[:-1].decode(), 'm']) # type: ignore[unreachable, unused-ignore] gray = curses.tparm(set_color.encode('utf-8'), 1, 89).decode() return gray @@ -567,7 +567,7 @@ def initialize_win_colors(self) -> bool: ENABLE_WRAP_AT_EOL_OUTPUT = 0x2 ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4 STD_OUTPUT_HANDLE = -11 - kernel32.SetConsoleMode(kernel32.GetStdHandle(STD_OUTPUT_HANDLE), + kernel32.SetConsoleMode(kernel32.GetStdHandle(STD_OUTPUT_HANDLE), # type: ignore[no-any-expr, unused-ignore] # noqa: E501 ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING) @@ -580,13 +580,13 @@ def initialize_win_colors(self) -> bool: self.NORMAL = '\033[0m' self.DIM = '\033[2m' return True - return False + return False # type: ignore[unreachable, unused-ignore] def initialize_unix_colors(self) -> bool: """Return True if initialization was successful and we can use colors, False otherwise""" if sys.platform == "win32" or not CURSES_ENABLED: return False - try: + try: # type: ignore[unreachable, unused-ignore] # setupterm wants a fd to potentially write an "initialization sequence". # We override sys.stdout for the daemon API so if stdout doesn't have an fd, # just give it /dev/null. @@ -731,10 +731,13 @@ def format_success(self, n_sources: int, use_color: bool = True) -> str: def format_error( self, n_errors: int, n_files: int, n_sources: int, *, - blockers: bool = False, use_color: bool = True + blockers: bool = False, use_color: bool = True, new_errors: int = -1 ) -> str: """Format a short summary in case of errors.""" - msg = f'Found {n_errors} error{plural_s(n_errors)} in {n_files} file{plural_s(n_files)}' + msg = f'Found {n_errors} error{plural_s(n_errors)} ' + if new_errors != -1: + msg += f'({new_errors} new error{plural_s(new_errors)}) ' + msg += f'in {n_files} file{plural_s(n_files)}' if blockers: msg += ' (errors prevented further checking)' else: diff --git a/mypy/version.py b/mypy/version.py index 9c9a75b3d..577eb4a59 100644 --- a/mypy/version.py +++ b/mypy/version.py @@ -1,5 +1,6 @@ import os from mypy import git +from mypy.versionutil import VersionInfo # Base version. # - Release versions have the form "0.NNN". @@ -8,9 +9,24 @@ __version__ = '0.980+dev' base_version = __version__ +# friendly version information +based_version_info = VersionInfo( + 1, + 5, + 0, + "dev", + 0, + __version__.split("+dev")[0], + "dev" if "+dev" in __version__ else "final", +) +# simple string version with git info +__based_version__ = based_version_info.simple_str() +# simple string version without git info +base_based_version = __based_version__ + mypy_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) -if __version__.endswith('+dev') and git.is_git_repo(mypy_dir) and git.have_git(): - __version__ += '.' + git.git_revision(mypy_dir).decode('utf-8') +if based_version_info.release_level == 'dev' and git.is_git_repo(mypy_dir) and git.have_git(): + __based_version__ += '.' + git.git_revision(mypy_dir).decode('utf-8') if git.is_dirty(mypy_dir): - __version__ += '.dirty' + __based_version__ += '.dirty' del mypy_dir diff --git a/mypy/versionutil.py b/mypy/versionutil.py new file mode 100644 index 000000000..971643eaf --- /dev/null +++ b/mypy/versionutil.py @@ -0,0 +1,27 @@ +from typing import NamedTuple + + +class VersionInfo(NamedTuple): + # UNSTABLE, subject to change + + major: int + minor: int + patch: int + release_level: str + iteration: int + mypy_version: str + mypy_release_level: str + + def simple_str(self) -> str: + result = f"{self.major}.{self.minor}.{self.patch}" + if self.release_level == "dev": + result += "+dev" + if self.release_level == "alpha": + result += "a" + elif self.release_level == "beta": + result += "b" + elif self.release_level == "rc": + result += "rc" + if self.iteration: + result += str(self.iteration) + return result diff --git a/mypy_bootstrap.ini b/mypy_bootstrap.ini index 3a6eee644..c7654701b 100644 --- a/mypy_bootstrap.ini +++ b/mypy_bootstrap.ini @@ -13,3 +13,10 @@ warn_redundant_casts = True warn_unused_configs = True show_traceback = True always_true = MYPYC +infer_function_types=True + +[mypy-mypy.*] +default_return = True + +[mypy-mypyc.*] +default_return = True diff --git a/mypy_self_check.ini b/mypy_self_check.ini index 8fbdf9b96..9accf7f62 100644 --- a/mypy_self_check.ini +++ b/mypy_self_check.ini @@ -18,5 +18,22 @@ show_error_codes = True pretty = True always_false = MYPYC plugins = misc/proper_plugin.py -python_version = 3.6 +python_version = 3.7 exclude = mypy/typeshed/|mypyc/test-data/|mypyc/lib-rt/ +nonlocal_partial_types = True +allow_any_expr = True +allow_any_explicit = True +allow_any_decorated = True +allow_subclassing_any = True +no_warn_return_any = True +no_warn_unreachable = True +implicit_reexport = True +disallow_redefinition = True +disable_error_code = truthy-bool, redundant-expr, ignore-without-code, no-untyped-usage + +[mypy-mypy.*,mypyc.*] +default_return = True + +[mypy-_pytest.*,pytest.*] +incomplete_is_typed = True +infer_function_types = False diff --git a/mypy_self_check_strict.ini b/mypy_self_check_strict.ini new file mode 100644 index 000000000..405e03f6e --- /dev/null +++ b/mypy_self_check_strict.ini @@ -0,0 +1,30 @@ +[mypy] +disallow_untyped_calls = True +disallow_untyped_defs = True +disallow_incomplete_defs = True +check_untyped_defs = True +disallow_subclassing_any = True +warn_no_return = True +strict_optional = True +strict_equality = True +no_implicit_optional = True +disallow_any_generics = True +disallow_any_unimported = True +warn_redundant_casts = True +warn_unused_ignores = True +warn_unused_configs = True +show_traceback = True +show_error_codes = True +pretty = True +always_false = MYPYC +plugins = misc/proper_plugin.py +python_version = 3.7 +exclude = mypy/typeshed/|mypyc/test-data/|mypyc/lib-rt/ +disallow_redefinition = True + +[mypy-mypy.*,mypyc.*] +default_return = True + +[mypy-_pytest.*,pytest.*] +incomplete_is_typed = True +infer_function_types = False diff --git a/mypyc/test/test_commandline.py b/mypyc/test/test_commandline.py index 3ca380f8e..3da96f611 100644 --- a/mypyc/test/test_commandline.py +++ b/mypyc/test/test_commandline.py @@ -47,7 +47,7 @@ def run_case(self, testcase: DataDrivenTestCase) -> None: out = b'' try: # Compile program - cmd = subprocess.run([sys.executable, '-m', 'mypyc', *args], + cmd = subprocess.run([sys.executable, '-m', 'mypyc', '--legacy', *args], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd='tmp') if 'ErrorOutput' in testcase.name or cmd.returncode != 0: out += cmd.stdout diff --git a/mypyc/test/test_run.py b/mypyc/test/test_run.py index 4013c30c8..77c911f96 100644 --- a/mypyc/test/test_run.py +++ b/mypyc/test/test_run.py @@ -169,7 +169,10 @@ def run_case_inner(self, testcase: DataDrivenTestCase) -> None: def run_case_step(self, testcase: DataDrivenTestCase, incremental_step: int) -> None: bench = testcase.config.getoption('--bench', False) and 'Benchmark' in testcase.name + from mypy import options as mypy_options + mypy_options._based = False options = Options() + options.legacy = True options.use_builtins_fixtures = True options.show_traceback = True options.strict_optional = True diff --git a/mypyc/test/testutil.py b/mypyc/test/testutil.py index d5c5dea2d..817dad1b7 100644 --- a/mypyc/test/testutil.py +++ b/mypyc/test/testutil.py @@ -99,7 +99,10 @@ def build_ir_for_single_file2(input_lines: List[str], # By default generate IR compatible with the earliest supported Python C API. # If a test needs more recent API features, this should be overridden. compiler_options = compiler_options or CompilerOptions(capi_version=(3, 5)) + import mypy.options + mypy.options._based = False options = Options() + options.legacy = True options.show_traceback = True options.use_builtins_fixtures = True options.strict_optional = True diff --git a/runtests.py b/runtests.py index 57542f7d4..03deb129f 100755 --- a/runtests.py +++ b/runtests.py @@ -49,7 +49,8 @@ # time to run. cmds = { # Self type check - 'self': [executable, '-m', 'mypy', '--config-file', 'mypy_self_check.ini', '-p', 'mypy'], + 'self': [executable, '-m', 'mypy', '--config-file', 'mypy_self_check.ini', "--baseline-file=", + '-p', 'mypy'], # Lint 'lint': ['flake8', '-j0'], # Fast test cases only (this is the bulk of the test suite) diff --git a/setup.cfg b/setup.cfg index c7adc285d..1c8d2ceca 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,7 +11,7 @@ exclude = env, docs/build, out, - .venv, + .venv*, .mypy_cache, .git, .cache, diff --git a/setup.py b/setup.py index 7999fb202..c227e44f4 100644 --- a/setup.py +++ b/setup.py @@ -5,8 +5,8 @@ import os.path import sys -if sys.version_info < (3, 6, 0): - sys.stderr.write("ERROR: You need Python 3.6 or later to use mypy.\n") +if sys.version_info < (3, 7, 0): + sys.stderr.write("ERROR: You need Python 3.7 or later to use mypy.\n") exit(1) # we'll import stuff from the source tree, let's ensure is on the sys path @@ -17,19 +17,41 @@ # alternative forms of installing, as suggested by README.md). from setuptools import setup, find_packages from setuptools.command.build_py import build_py -from mypy.version import __version__ as version +from mypy.version import __version__, __based_version__, based_version_info -description = 'Optional static typing for Python' +description = 'Based static typing for Python' long_description = ''' -Mypy -- Optional Static Typing for Python -========================================= - -Add type annotations to your Python programs, and use mypy to type -check them. Mypy is essentially a Python linter on steroids, and it -can catch many programming errors by analyzing your program, without -actually having to run it. Mypy has a powerful type system with -features such as type inference, gradual typing, generics and union -types. +Basedmypy -- Based Static Typing for Python +=========================================== + +Ever tried to use pythons type system and thought to yourself "This doesn't seem based". + +Well fret no longer as basedmypy got you covered! + +Baseline +-------- + +Basedmypy has baseline, baseline is based! It allows you to adopt new features from basedmypy +without the burden of fixing up every usage, just save all current errors to the baseline +file and deal with them later. + +.. code-block:: python + + def foo(a): + print(a) + +.. code-block:: bash + + > mypy . + error: missing typehints !!!!! + Epic fail bro! + + > mypy --write-baseline . + error: missing typehints + Baseline successfully saved! + + > mypy . + Looks good to me, no errors! '''.lstrip() @@ -58,7 +80,10 @@ def pin_version(self): path = os.path.join(self.build_lib, 'mypy') self.mkpath(path) with open(os.path.join(path, 'version.py'), 'w') as stream: - stream.write(f'__version__ = "{version}"\n') + stream.write('from mypy.versionutil import VersionInfo\n') + stream.write(f'__version__ = "{__version__}"\n') + stream.write(f'based_version_info = {based_version_info!r}\n') + stream.write(f'__based_version__ = "{__based_version__}"\n') def run(self): self.execute(self.pin_version, ()) @@ -149,7 +174,7 @@ def run(self): debug_level = os.getenv('MYPYC_DEBUG_LEVEL', '1') force_multifile = os.getenv('MYPYC_MULTI_FILE', '') == '1' ext_modules = mypycify( - mypyc_targets + ['--config-file=mypy_bootstrap.ini'], + mypyc_targets + ['--config-file=mypy_bootstrap.ini', "--legacy"], opt_level=opt_level, debug_level=debug_level, # Use multi-file compilation mode on windows because without it @@ -166,7 +191,6 @@ def run(self): 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', @@ -174,13 +198,11 @@ def run(self): 'Topic :: Software Development', ] -setup(name='mypy', - version=version, +setup(name='basedmypy', + version=__based_version__, description=description, long_description=long_description, - author='Jukka Lehtosalo', - author_email='jukka.lehtosalo@iki.fi', - url='http://www.mypy-lang.org/', + author='KotlinIsland', license='MIT License', py_modules=[], ext_modules=ext_modules, @@ -196,6 +218,7 @@ def run(self): cmdclass=cmdclass, # When changing this, also update mypy-requirements.txt. install_requires=["typed_ast >= 1.4.0, < 2; python_version<'3.8'", + "basedtyping>=0.0.1", 'typing_extensions>=3.10', 'mypy_extensions >= 0.4.3', "tomli>=1.1.0; python_version<'3.11'", @@ -206,11 +229,12 @@ def run(self): 'python2': 'typed_ast >= 1.4.0, < 2', 'reports': 'lxml' }, - python_requires=">=3.6", + python_requires=">=3.7", include_package_data=True, project_urls={ - 'News': 'http://mypy-lang.org/news.html', - 'Documentation': 'https://mypy.readthedocs.io/en/stable/index.html', - 'Repository': 'https://github.com/python/mypy', + 'News': 'https://github.com/KotlinIsland/basedmypy/releases', + 'Documentation': 'https://github.com/KotlinIsland/basedmypy/wiki', + 'Repository': 'https://github.com/KotlinIsland/basedmypy', + "Discord": "https://discord.gg/7y9upqPrk2", }, ) diff --git a/test-data/unit/check-based-default-return.test b/test-data/unit/check-based-default-return.test new file mode 100644 index 000000000..da46ca9a0 --- /dev/null +++ b/test-data/unit/check-based-default-return.test @@ -0,0 +1,241 @@ +-- Type checker test cases for default return type. + + +[case testSimple] +def f(): ... +reveal_type(f) # N: Revealed type is "def ()" +reveal_type(f()) # N: Revealed type is "None" + +def g(i: int): ... +reveal_type(g) # N: Revealed type is "def (i: int)" + +class A: + def f(self): ... + def g(self, i: int): ... + +reveal_type(A.f) # N: Revealed type is "def (self: __main__.A)" +reveal_type(A.g) # N: Revealed type is "def (self: __main__.A, i: int)" + + +[case testUntypedDefs] +# flags: --allow-untyped-defs --allow-any-expr + +def f(): ... +reveal_type(f) # N: Revealed type is "def () -> Untyped" + +def g(i: int): ... +reveal_type(g) # N: Revealed type is "def (i: int)" + +def h(i: int, j): ... # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + +class A: + def f(self): ... + def g(self, i): ... + def h(self, i: int): ... + def i(self, i: int, j): ... # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + +reveal_type(A.f) # N: Revealed type is "def (self: __main__.A) -> Untyped" +reveal_type(A.g) # N: Revealed type is "def (self: __main__.A, i: Untyped) -> Untyped" +reveal_type(A.h) # N: Revealed type is "def (self: __main__.A, i: int)" +reveal_type(A.i) # N: Revealed type is "def (self: __main__.A, i: int, j: Untyped)" + + +[case testIncompleteDefs] +# flags: --allow-incomplete-defs --allow-untyped-defs --allow-any-expr + +def f(i): ... +reveal_type(f) # N: Revealed type is "def (i: Untyped) -> Untyped" + +def g(i: int, j): ... +reveal_type(g) # N: Revealed type is "def (i: int, j: Untyped)" + +class A: + def f(self): ... + def g(self, i): ... + def h(self, i: int): ... + def i(self, i: int, j): ... + +reveal_type(A.f) # N: Revealed type is "def (self: __main__.A) -> Untyped" +reveal_type(A.g) # N: Revealed type is "def (self: __main__.A, i: Untyped) -> Untyped" +reveal_type(A.h) # N: Revealed type is "def (self: __main__.A, i: int)" +reveal_type(A.i) # N: Revealed type is "def (self: __main__.A, i: int, j: Untyped)" + + +[case testGenerator] +def f(): # E: The return type of a generator function should be "Generator" or one of its supertypes [misc] + yield + +def g(i: int): # E: The return type of a generator function should be "Generator" or one of its supertypes [misc] + yield + +class A: + def f(self): # E: The return type of a generator function should be "Generator" or one of its supertypes [misc] + yield + def g(self, i: int): # E: The return type of a generator function should be "Generator" or one of its supertypes [misc] + yield + + +[case testAsync] +async def f1(): + ... +async def f2(): # E: The return type of an async generator function should be "AsyncGenerator" or one of its supertypes [misc] + yield + +async def g1(i: int): + ... +async def g2(i: int): # E: The return type of an async generator function should be "AsyncGenerator" or one of its supertypes [misc] + yield + +class A: + async def f1(self): + ... + async def f2(self): # E: The return type of an async generator function should be "AsyncGenerator" or one of its supertypes [misc] + yield + async def g1(self, i: int): + ... + async def g2(self, i: int): # E: The return type of an async generator function should be "AsyncGenerator" or one of its supertypes [misc] + yield + +[case testLambda] +# flags: --allow-any-expr + +f = lambda x: x +g = lambda: ... +reveal_type(f) # N: Revealed type is "def (x: Untyped) -> Any" +reveal_type(g) # N: Revealed type is "def () -> ellipsis" + + +[case testExplicitAny] +# flags: --allow-any-expr --allow-any-explicit +from typing import Any + +def f() -> Any: ... +def g(i: int) -> Any: ... +reveal_type(f) # N: Revealed type is "def () -> Any" +reveal_type(g) # N: Revealed type is "def (i: int) -> Any" + +class A: + def f(self) -> Any: ... + def g(self, i: int) -> Any: ... +reveal_type(A.f) # N: Revealed type is "def (self: __main__.A) -> Any" +reveal_type(A.g) # N: Revealed type is "def (self: __main__.A, i: int) -> Any" + + +[case testNoDefaultReturn] +# flags: --no-default-return --allow-any-expr + +def f(i): ... # E: Function is missing a type annotation [no-untyped-def] +def g(i: int, j): ... # E: Function is missing a return type annotation [no-untyped-def] \ + # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + +class A: + def f(self, i): ... # E: Function is missing a type annotation [no-untyped-def] + def g(self, i: int, j): ... # E: Function is missing a return type annotation [no-untyped-def] \ + # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + + +[case testOverload] +from typing import overload + +class A: + @overload + def f(self): ... + @overload + def f(self, i: int): ... + def f(self, i: int = 0): ... + +reveal_type(A.f) # N: Revealed type is "Overload(def (self: __main__.A), def (self: __main__.A, i: int))" + +@overload +def f(): ... +@overload +def f(i: int): ... +def f(i: int = 0): ... + +reveal_type(f) # N: Revealed type is "Overload(def (), def (i: int))" + + +[case testOverloadIncomplete] +# flags: --allow-incomplete-defs --allow-untyped-defs --allow-any-expr +from typing import overload + +class A: + @overload + def f(self): ... + @overload + def f(self, i): ... + @overload + def f(self, i, j: int): ... + def f(self, i: int = 0, j: int = 0): ... + +reveal_type(A.f) # N: Revealed type is "Overload(def (self: __main__.A), def (self: __main__.A, i: Untyped), def (self: __main__.A, i: Untyped, j: int))" + +@overload +def f(): ... +@overload +def f(i): ... +@overload +def f(i, j: int): ... +def f(i: int = 0, j: int = 0): ... + +reveal_type(f) # N: Revealed type is "Overload(def (), def (i: Untyped), def (i: Untyped, j: int))" + + +[case testOverloadUntyped] +# flags: --allow-untyped-defs --allow-any-expr +from typing import overload + +class A: + @overload + def f(self): ... + @overload + def f(self, i): ... + @overload + def f(self, *, j: int): ... + def f(self, i: int = 0, j: int = 0): ... + +reveal_type(A.f) # N: Revealed type is "Overload(def (self: __main__.A), def (self: __main__.A, i: Untyped), def (self: __main__.A, *, j: int))" + +@overload +def f(): ... +@overload +def f(i): ... +@overload +def f(*, j: int): ... +def f(i: int = 0, j: int = 0): ... + +reveal_type(f) # N: Revealed type is "Overload(def (), def (i: Untyped), def (*, j: int))" + +[case testOverloadOther] +# flags: --allow-untyped-defs --allow-incomplete-defs --allow-any-expr +from typing import overload + +class A: + @overload + def f(self) -> int: ... + @overload + def f(self, i): ... + @overload + def f(self, i, j: int): ... + def f(self, i: int = 0, j: int = 0) -> object: ... + +reveal_type(A.f) # N: Revealed type is "Overload(def (self: __main__.A) -> int, def (self: __main__.A, i: Untyped), def (self: __main__.A, i: Untyped, j: int))" + +class B: + @overload + def f(self) -> str: ... + @overload + def f(self, i): ... + @overload + def f(self, i, j: int) -> int: ... + def f(self, i: int = 0, j: int = 0) -> object: ... + +reveal_type(B.f) # N: Revealed type is "Overload(def (self: __main__.B) -> str, def (self: __main__.B, i: Untyped), def (self: __main__.B, i: Untyped, j: int) -> int)" + + +[case testNewHasError] +# flags: --no-infer-function-types +class A: + def __new__(cls): ... # E: "__new__" must return a class instance (got "None") [misc] + +reveal_type(A.__new__) # N: Revealed type is "def (cls: type[__main__.A])" diff --git a/test-data/unit/check-based-ignore-any-from-error.test b/test-data/unit/check-based-ignore-any-from-error.test new file mode 100644 index 000000000..47dae1050 --- /dev/null +++ b/test-data/unit/check-based-ignore-any-from-error.test @@ -0,0 +1,31 @@ +[case testIgnoreAnyFromError] +from typing import Any +a = AMONGUS # E: Name "AMONGUS" is not defined [name-defined] +b = a + 1 +c = b() +d = [c] +e = d[0].d +e + 1 +f: Any # E: Explicit "Any" is not allowed [no-any-explicit] +g = f + 1 # E: Expression has type "Any" [no-any-expr] + +[case testIncludeAnyFromError] +# flags: --no-ignore-any-from-error +from typing import Any +a = AMONGUS # E: Name "AMONGUS" is not defined [name-defined] \ + # E: Expression has type "Any (from error)" [no-any-expr] +b = a + 1 # E: Expression has type "Any (from error)" [no-any-expr] +c = b() # E: Expression has type "Any (from error)" [no-any-expr] +d = [c] # E: Expression type contains "Any" (has type "list[Any (from error)]") [no-any-expr] \ + # E: Expression has type "Any (from error)" [no-any-expr] +e = d[0].d # E: Expression type contains "Any" (has type "list[Any (from error)]") [no-any-expr] \ + # E: Expression has type "Any (from error)" [no-any-expr] +e + 1 # E: Expression has type "Any (from error)" [no-any-expr] +f: Any # E: Explicit "Any" is not allowed [no-any-explicit] +g = f + 1 # E: Expression has type "Any" [no-any-expr] + + +[case testErrorInAssignment] +class A: b: int + +A.b = b # E: Name "b" is not defined [name-defined] diff --git a/test-data/unit/check-based-incomplete-defs.test b/test-data/unit/check-based-incomplete-defs.test new file mode 100644 index 000000000..cf3ce11fe --- /dev/null +++ b/test-data/unit/check-based-incomplete-defs.test @@ -0,0 +1,33 @@ +[case testCallingIncomplete] +# flags: --config-file tmp/mypy.ini +from b import foo +foo(1, 2) # E: Call to incomplete function "foo" in typed context [no-untyped-call] \ + # N: Type is "def (a: int, b: Untyped)" + +[file b.py] +def foo(a: int, b): ... + +[file mypy.ini] +\[mypy] +incomplete_is_typed = True +allow_incomplete_defs = True +allow_untyped_defs = True +\[mypy-b] +incomplete_is_typed = False + + +[case testCallingIncompleteAsTyped] +# flags: --config-file tmp/mypy.ini +from b import foo +foo(1, 2) + +[file b.py] +def foo(a: int, b): ... + +[file mypy.ini] +\[mypy] +incomplete_is_typed = False +allow_incomplete_defs = True +allow_untyped_defs = True +\[mypy-b] +incomplete_is_typed = True diff --git a/test-data/unit/check-based-infer-function-types.test b/test-data/unit/check-based-infer-function-types.test new file mode 100644 index 000000000..eaa048dee --- /dev/null +++ b/test-data/unit/check-based-infer-function-types.test @@ -0,0 +1,388 @@ +-- Type checker test cases for infer-function-types. + +[case testInferFunctionTypesUntyped-xfail] +# flags: --allow-untyped-defs --allow-incomplete-defs --allow-any-expr + +def f(): ... +reveal_type(f) # N: Revealed type is "def () -> Untyped" +f() # E: Call to untyped function "f" in typed context [no-untyped-call] + +def g(i=1, b=""): ... +reveal_type(g) # N: Revealed type is "def (i: int =, b: str =) -> Untyped" +g() # E: Call to untyped function "g" in typed context [no-untyped-call] + +class A1: + def __new__(cls): ... + def __init__(self): ... +class B1(A1): + def __new__(cls): ... + def __init__(self): ... + +reveal_type(A1.__new__) # N: Revealed type is "def (cls: type[__main__.A1]) -> Untyped" +reveal_type(B1.__new__) # N: Revealed type is "def (cls: type[__main__.B1]) -> Untyped" +reveal_type(A1.__init__) # N: Revealed type is "def (self: __main__.A1)" +reveal_type(B1.__init__) # N: Revealed type is "def (self: __main__.B1)" + +class A2: + def __new__(cls, a: int): ... + def __init__(self, a: int): ... +class B2(A2): + def __new__(cls, a): ... + def __init__(self, a): ... + +reveal_type(A2.__new__) # N: Revealed type is "def (cls: type[__main__.A2], a: int) -> __main__.A2" +reveal_type(B2.__new__) # N: Revealed type is "def (cls: type[__main__.B2], a: int) -> __main__.B2" +reveal_type(A2.__init__) # N: Revealed type is "def (self: __main__.A2, a: int)" +reveal_type(B2.__init__) # N: Revealed type is "def (self: __main__.B2, a: int)" + + +[case testInferFunctionTypesComplete-xfail] +class A1: + def __new__(cls): ... + def __init__(self): ... +class B1(A1): + def __new__(cls): ... + def __init__(self): ... + +reveal_type(A1.__new__) # N: Revealed type is "def (cls: type[__main__.A1]) -> __main__.A1" +reveal_type(B1.__new__) # N: Revealed type is "def (cls: type[__main__.B1]) -> __main__.B1" +reveal_type(A1.__init__) # N: Revealed type is "def (self: __main__.A1)" +reveal_type(B1.__init__) # N: Revealed type is "def (self: __main__.B1)" + +class A2: + def __new__(cls, a: int): ... + def __init__(self, a: int): ... +class B2(A2): + def __new__(cls, a): ... + def __init__(self, a): ... + +reveal_type(A2.__new__) # N: Revealed type is "def (cls: type[__main__.A2], a: int) -> __main__.A2" +reveal_type(B2.__new__) # N: Revealed type is "def (cls: type[__main__.B2], a: int) -> __main__.B2" +reveal_type(A2.__init__) # N: Revealed type is "def (self: __main__.A2, a: int)" +reveal_type(B2.__init__) # N: Revealed type is "def (self: __main__.B2, a: int)" + + +[case testDefaultInstance-xfail] +class A: ... +def f(a=A()): ... +reveal_type(f) # N: Revealed type is "def (a: __main__.A =)" + +class B: + def foo(self, a: object): ... +class C(B): + def foo(self, a=A()): ... + +reveal_type(C.foo) # N: Revealed type is "def (self: __main__.C, a: object =)" + + +[case testDontInferFunctionTypes] +# flags: --no-infer-function-types --allow-untyped-defs --allow-incomplete-defs --allow-any-expr --no-default-return + +def f(): ... +reveal_type(f) # N: Revealed type is "def () -> Untyped" + +def g(i=1, b=""): ... +reveal_type(g) # N: Revealed type is "def (i: Untyped =, b: Untyped =) -> Untyped" + +class A1: + def __new__(cls): ... + def __init__(self): ... +class B1(A1): + def __new__(cls): ... + def __init__(self): ... + +reveal_type(A1.__new__) # N: Revealed type is "def (cls: type[__main__.A1]) -> Untyped" +reveal_type(B1.__new__) # N: Revealed type is "def (cls: type[__main__.B1]) -> Untyped" +reveal_type(A1.__init__) # N: Revealed type is "def (self: __main__.A1) -> Untyped" +reveal_type(B1.__init__) # N: Revealed type is "def (self: __main__.B1) -> Untyped" + +class A2: + def __new__(cls, a: int): ... + def __init__(self, a: int): ... +class B2(A2): + def __new__(cls, a): ... + def __init__(self, a): ... + +reveal_type(A2.__new__) # N: Revealed type is "def (cls: type[__main__.A2], a: int) -> Untyped" +reveal_type(B2.__new__) # N: Revealed type is "def (cls: type[__main__.B2], a: Untyped) -> Untyped" +reveal_type(A2.__init__) # N: Revealed type is "def (self: __main__.A2, a: int)" +reveal_type(B2.__init__) # N: Revealed type is "def (self: __main__.B2, a: Untyped) -> Untyped" + + +[case testSimpleOverload] +from typing import overload + +@overload +def f(i: int) -> int: ... +@overload +def f(i: str) -> str: ... + +def f(i): + reveal_type(i) # N: Revealed type is "int | str" + reveal_type(f) # N: Revealed type is "Overload(def (i: int) -> int, def (i: str) -> str)" + if i: + return "asdf" + elif i: + return 100 + return None # E: Incompatible return value type (got "None", expected "int | str") [return-value] + + +[case testPartialOverload] +from typing import overload + +@overload +def f(*, i: int, j: int) -> int: ... +@overload +def f(*, j: str) -> str: ... + +def f(i: object = 1, j = "1"): + reveal_type(i) # N: Revealed type is "object" + reveal_type(j) # N: Revealed type is "int | str" + if j: + return "asdf" + elif j: + return 100 + return None # E: Incompatible return value type (got "None", expected "int | str") [return-value] + + +[case testInvalidOverload] +@overload # E: Name "overload" is not defined [name-defined] +def a(x: int): ... +@overload # E: Name "a" already defined on line 1 [no-redef] \ + # E: Name "overload" is not defined [name-defined] +def a(x: str): ... +def a(x: object): ... # E: Name "a" already defined on line 1 [no-redef] + +def b(): ... +def b(x: str): ... # E: Name "b" already defined on line 7 [no-redef] + + +[case testOverloadAndDefault] +from typing import overload + +@overload +def foo(a: int) -> None: + ... +@overload +def foo(a='1') -> None: + ... +def foo(a="1") -> None: + reveal_type(a) # N: Revealed type is "int | str" + +reveal_type(foo) # N: Revealed type is "Overload(def (a: int), def (a: str =))" + + +[case testVariadic] +# flags: --allow-any-expr --disable-error-code truthy-bool --implicit-optional +from typing import overload + +@overload +def f(__a: str): ... +@overload +def f(__a: int): ... + +def f(*args): # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + reveal_type(args) # N: Revealed type is "tuple[Untyped, ...]" + if args: + return "asdf" # E: No return value expected [return-value] +[builtins fixtures/tuple.pyi] + + +[case testKariadic] +# flags: --allow-any-expr +from typing import overload + +@overload +def f(*, kwargs: str): ... +@overload +def f(*, kwargs: int): ... + +def f(**kwargs): # E: Function is missing a type annotation for one or more arguments [no-untyped-def] + reveal_type(kwargs) # N: Revealed type is "dict[str, Untyped]" + return 1 # E: No return value expected [return-value] +[builtins fixtures/dict.pyi] + + +[case testOverrideOverload-xfail] +# this is turned off for now +from typing import overload, Union +from s import S + +class A: + @overload + def f(self, f: int) -> str: ... + @overload + def f(self, f: str) -> int: ... + def f(self, f): ... + +class B(A): + def f(self, f): + reveal_type(self) # N: Revealed type is "__main__.B" + reveal_type(f) # N: Revealed type is "int | str" + return None # E: Incompatible return value type (got "None", expected "str | int") [return-value] +class C(A): + def f(self, f: Union[int, str]): + reveal_type(self) # N: Revealed type is "__main__.C" + reveal_type(f) # N: Revealed type is "int | str" + return None # E: Incompatible return value type (got "None", expected "str | int") [return-value] +class D(A): + def f(self, f: str): # E: Overloaded function implementation does not accept all possible arguments of signature 1 [misc] + reveal_type(self) # N: Revealed type is "__main__.D" + reveal_type(f) # N: Revealed type is "str" + return None # E: Incompatible return value type (got "None", expected "str | int") [return-value] +class E(A): + def f(self, f: str) -> None: # E: Signature of "f" incompatible with supertype "A" [override] \ + # N: Superclass: \ + # N: @overload \ + # N: def f(self, f: int) -> str \ + # N: @overload \ + # N: def f(self, f: str) -> int \ + # N: Subclass: \ + # N: def f(self, f: str) -> None + reveal_type(self) # N: Revealed type is "__main__.E" + reveal_type(f) # N: Revealed type is "str" + return None +class F(A): + def f(self, f="") -> Union[str, int]: + reveal_type(self) # N: Revealed type is "__main__.F" + reveal_type(f) # N: Revealed type is "int | str" + return None # E: Incompatible return value type (got "None", expected "str | int") [return-value] +class G(S): + def f(self, f=""): + reveal_type(self) # N: Revealed type is "__main__.G" + reveal_type(f) # N: Revealed type is "int | str" + return None # E: Incompatible return value type (got "None", expected "str | int") [return-value] + + +reveal_type(A.f) # N: Revealed type is "Overload(def (self: __main__.A, f: int) -> str, def (self: __main__.A, f: str) -> int)" +reveal_type(B.f) # N: Revealed type is "Overload(def (self: __main__.B, f: int) -> str, def (self: __main__.B, f: str) -> int)" +reveal_type(C.f) # N: Revealed type is "Overload(def (self: __main__.C, f: int) -> str, def (self: __main__.C, f: str) -> int)" +reveal_type(D.f) # N: Revealed type is "Overload(def (self: __main__.D, f: int) -> str, def (self: __main__.D, f: str) -> int)" +reveal_type(E.f) # N: Revealed type is "def (self: __main__.E, f: str)" +reveal_type(F.f) # N: Revealed type is "Overload(def (self: __main__.F, f: int) -> str, def (self: __main__.F, f: str) -> int)" +reveal_type(G.f) # N: Revealed type is "Overload(def (self: __main__.G, f: int) -> str, def (self: __main__.G, f: str) -> int)" + +[file s.pyi] +from typing import overload + +class S: + @overload + def f(self, f: int) -> str: ... + @overload + def f(self, f: str) -> int: ... + + +[case testCheckUntypedDefs] +# flags: --no-check-untyped-defs --allow-untyped-defs + +def foo(a=1): + 1 + "" + +foo() # E: Call to untyped function "foo" in typed context [no-untyped-call] +reveal_type(foo) # E: Expression type contains "Any" (has type "(int) -> Untyped") [no-any-expr] \ + # N: Revealed type is "def (a: int =) -> Untyped" + +def bar(a=1) -> None: + 1 + "" # E: Unsupported operand types for + ("int" and "str") [operator] + +bar() +reveal_type(bar) # N: Revealed type is "def (a: int =)" + + +[case inferPropertyTypes] +# flags: --no-infer-function-types --no-default-return --no-check-untyped-defs +class A: + @property + def f(self) -> int: ... + @f.setter + def f(self, value): ... + @f.deleter + def f(self): ... + +a = A() +reveal_type(a.f) # N: Revealed type is "int" +a.f = "" # E: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +del a.f + +class B: + @property + def f(self): ... # E: Function is missing a return type annotation [no-untyped-def] \ + # N: Use "-> None" if function does not return a value \ + # E: Type of decorated function contains type "Any" ("(B) -> Untyped") [no-any-decorated] + @f.setter + def f(self, value): + 1 + "" + @f.deleter + def f(self): ... + +b = B() +reveal_type(b.f) # E: Expression has type "Untyped" [no-any-expr] \ + # N: Revealed type is "Untyped" +b.f = 1 # E: Usage of untyped name "f" in typed context [no-untyped-usage] +del b.f +[builtins fixtures/property.pyi] + + +[case testPropertyNoAnnotation] +class A: + @property + def p(self): ... # E: Property is missing a type annotation [no-untyped-def] + @p.setter + def p(self, value): ... + @p.deleter + def p(self): ... + +a = A() +reveal_type(a.p) # N: Revealed type is "None" +a.p = 1 # E: Incompatible types in assignment (expression has type "int", variable has type "None") [assignment] +del a.p +[builtins fixtures/property.pyi] + + +[case testPropertyInheritInfer-xfail] +# Overloaded overrides aren't supported yet, so this is only the getter +# xfail because infer function types has been disabled for now. +class A: + @property + def p(self) -> int: ... +class B(A): + @property + def p(self): + 1 + "" # E: Unsupported operand types for + ("int" and "str") [operator] + return 1 + +b = B() +reveal_type(b.p) # N: Revealed type is "int" +c = b.p +[builtins fixtures/property.pyi] + + +[case testDefaultReturnOverride-xfail] +class A: + def foo(self) -> int: ... + def bar(self, i: int) -> int: ... + +class B(A): + def foo(self): ... + def bar(self, i: int): ... + +b: B +reveal_type(b.foo) # N: Revealed type is "def () -> int" +reveal_type(b.bar) # N: Revealed type is "def (i: int) -> int" + + +[case testUntypedInit] +# flags: --allow-untyped-defs +class A: + def __init__(self, foo): ... + + +[case testInferFromDefaultWhenDecorated] +from helper import T + +def deco(func: T) -> T: ... + +@deco +def b(b=True) -> None: ... + +reveal_type(b) # N: Revealed type is "def (b: bool =)" diff --git a/test-data/unit/check-based-type-render.test b/test-data/unit/check-based-type-render.test new file mode 100644 index 000000000..e577546e8 --- /dev/null +++ b/test-data/unit/check-based-type-render.test @@ -0,0 +1,23 @@ +[case testGenericMethod] +from typing import TypeVar, Generic, Union + +T = TypeVar('T') +T2 = TypeVar('T2') + +class A(Generic[T2]): + def f(self, t: T, t2: T2) -> Union[T, T2]: + reveal_type(t) # N: Revealed type is "T@f" + reveal_type(t2) # N: Revealed type is "T2@A" + return t + +reveal_type(A.f) # N: Revealed type is "def [T2 (from A), T] (self: __main__.A[T2], t: T, t2: T2) -> T | T2" +reveal_type(A[int]().f) # N: Revealed type is "def [T] (t: T, t2: int) -> T | int" + + +[case testRenderAny] +# flags: --allow-any-generics --allow-any-expr --allow-any-explicit +from typing import Any, List +a: list +reveal_type(a) # N: Revealed type is "list[Untyped]" +b: List[Any] +reveal_type(b) # N: Revealed type is "list[Any]" diff --git a/test-data/unit/check-based-untyped.test b/test-data/unit/check-based-untyped.test new file mode 100644 index 000000000..45afcaf2b --- /dev/null +++ b/test-data/unit/check-based-untyped.test @@ -0,0 +1,84 @@ +[case testUntypedReference] +from basedtyping import Untyped +a: Untyped +c: int + +a = 1 # E: Usage of untyped name "a" in typed context [no-untyped-usage] +c = a # E: Usage of untyped name "a" in typed context [no-untyped-usage] +del a # E: Usage of untyped name "a" in typed context [no-untyped-usage] + +class A: + b: Untyped +a1: A +del a1.b # E: Usage of untyped name "b" in typed context [no-untyped-usage] +del a1.b[1] # E: Expression has type "Untyped" [no-any-expr] +del a1.b.c # E: Expression has type "Untyped" [no-any-expr] \ + # E: Usage of untyped name "c" in typed context [no-untyped-usage] +a2: A +c = a1.b # E: Usage of untyped name "b" in typed context [no-untyped-usage] +a1.b = 1 # E: Usage of untyped name "b" in typed context [no-untyped-usage] + + +[case testUntypedIndex] +# flags: --allow-any-generics +from typing import List +from basedtyping import Untyped + +class A(list): ... +a = A() +a[0] = 1 # E: Untyped indexed-assignment to "a" in typed context [no-untyped-usage] +class B(List[Untyped]): + a: A +b = B() +b[0] = 1 # E: Untyped indexed-assignment to "b" in typed context [no-untyped-usage] +b.a[0] = 1 # E: Untyped indexed-assignment to "a" in typed context [no-untyped-usage] +c: Untyped +c()[1] = 1 # E: Expression has type "Untyped" [no-any-expr] +[builtins fixtures/list.pyi] + + +[case testUntypedOmittedGeneric] +# flags: --allow-any-generics +from typing import List +from basedtyping import Untyped + +def f1(a: List): ... +def f2(a: List[Untyped]): ... +a = [1] +f1(a) # E: Call to incomplete function "f1" in typed context [no-untyped-call] \ + # N: Type is "def (a: list[Untyped])" +f2(a) # E: Call to incomplete function "f2" in typed context [no-untyped-call] \ + # N: Type is "def (a: list[Untyped])" + + +[case testIncompleteCall] +# flags: --allow-any-explicit +from typing import Any +from basedtyping import Untyped + +def f1(a: Any): ... +def f2(a: Untyped) -> int: ... + +f1(1) +f2(1) # E: Call to incomplete function "f2" in typed context [no-untyped-call] \ + # N: Type is "def (a: Untyped) -> int" + + +[case testUntypedProperty] +# flags: --allow-untyped-defs --allow-any-decorated +from basedtyping import Untyped + +class A: + @property + def foo(self): ... + @foo.setter + def foo(self, value): ... + @property + def bar(self) -> Untyped: ... + @bar.setter + def bar(self, value: Untyped) -> None: ... + +a: A +a.foo = 1 # E: Usage of untyped name "foo" in typed context [no-untyped-usage] +a.bar = 1 # E: Usage of untyped name "bar" in typed context [no-untyped-usage] +[builtins fixtures/property.pyi] diff --git a/test-data/unit/check-errorcodes.test b/test-data/unit/check-errorcodes.test index f29da0268..ea8d94c35 100644 --- a/test-data/unit/check-errorcodes.test +++ b/test-data/unit/check-errorcodes.test @@ -123,7 +123,7 @@ b = 'x'.foobar(b) # type: int # type: ignore[name-defined, xyz] # E: "str" has [case testErrorCodeWarnUnusedIgnores1] # flags: --warn-unused-ignores -x # type: ignore[name-defined, attr-defined] # E: Unused "type: ignore[attr-defined]" comment +x # type: ignore[name-defined, attr-defined] # E: Unused "type: ignore[attr-defined]" comment [unused-ignore] [case testErrorCodeWarnUnusedIgnores2] # flags: --warn-unused-ignores @@ -131,19 +131,19 @@ x # type: ignore[name-defined, attr-defined] # E: Unused "type: ignore[attr-defi [case testErrorCodeWarnUnusedIgnores3] # flags: --warn-unused-ignores -"x".foobar(y) # type: ignore[name-defined, attr-defined, xyz] # E: Unused "type: ignore[xyz]" comment +"x".foobar(y) # type: ignore[name-defined, attr-defined, xyz] # E: Unused "type: ignore[xyz]" comment [unused-ignore] [case testErrorCodeWarnUnusedIgnores4] # flags: --warn-unused-ignores -"x".foobar(y) # type: ignore[name-defined, attr-defined, valid-type] # E: Unused "type: ignore[valid-type]" comment +"x".foobar(y) # type: ignore[name-defined, attr-defined, valid-type] # E: Unused "type: ignore[valid-type]" comment [unused-ignore] [case testErrorCodeWarnUnusedIgnores5] # flags: --warn-unused-ignores -"x".foobar(y) # type: ignore[name-defined, attr-defined, valid-type, xyz] # E: Unused "type: ignore[valid-type, xyz]" comment +"x".foobar(y) # type: ignore[name-defined, attr-defined, valid-type, xyz] # E: Unused "type: ignore[valid-type, xyz]" comment [unused-ignore] [case testErrorCodeWarnUnusedIgnores6_NoDetailWhenSingleErrorCode] # flags: --warn-unused-ignores -"x" # type: ignore[name-defined] # E: Unused "type: ignore" comment +"x" # type: ignore[name-defined] # E: Unused "type: ignore" comment [unused-ignore] [case testErrorCodeMissingWhenRequired] # flags: --enable-error-code ignore-without-code @@ -154,9 +154,9 @@ z # type: ignore[name-defined] [case testErrorCodeMissingDoesntTrampleUnusedIgnoresWarning] # flags: --enable-error-code ignore-without-code --warn-unused-ignores -"x" # type: ignore # E: Unused "type: ignore" comment -"y" # type: ignore[ignore-without-code] # E: Unused "type: ignore" comment -z # type: ignore[ignore-without-code] # E: Unused "type: ignore" comment # E: Name "z" is not defined [name-defined] # N: Error code "name-defined" not covered by "type: ignore" comment +"x" # type: ignore # E: Unused "type: ignore" comment [unused-ignore] +"y" # type: ignore[ignore-without-code] # E: Unused "type: ignore" comment [unused-ignore] +z # type: ignore[ignore-without-code] # E: Unused "type: ignore" comment [unused-ignore] # E: Name "z" is not defined [name-defined] # N: Error code "name-defined" not covered by "type: ignore" comment [case testErrorCodeMissingWholeFileIgnores] # flags: --enable-error-code ignore-without-code diff --git a/test-data/unit/check-flags.test b/test-data/unit/check-flags.test index 5cda01fab..ef32fec8e 100644 --- a/test-data/unit/check-flags.test +++ b/test-data/unit/check-flags.test @@ -59,7 +59,7 @@ async def f(): # E: Function is missing a return type annotation \ # N: Use "-> None" if function does not return a value pass [builtins fixtures/async_await.pyi] -[typing fixtures/typing-medium.pyi] +[typing fixtures/typing-full.pyi] [case testAsyncUnannotatedArgument] # flags: --disallow-untyped-defs @@ -1150,8 +1150,8 @@ from typing import Any class Foo: g: Any = 2 -z: int = Foo().g -x = Foo().g # type: int +z: int = Foo().g # E: Expression has type "Any" +x = Foo().g # type: int # E: Expression has type "Any" m: Any = Foo().g # E: Expression has type "Any" n = Foo().g # type: Any # E: Expression has type "Any" [builtins fixtures/list.pyi] @@ -1403,7 +1403,8 @@ def f(c: C): [out] [case testCheckAllowAnyGenericAnyGeneric] -# flags: --strict --allow-any-generics +-- maybe a little useless because theres no strict but w/e +# flags: --allow-any-generics from typing import TypeVar, Callable T = TypeVar('T') @@ -1425,7 +1426,8 @@ def f(c: C): # E: Missing type parameters for generic type "C" [out] [case testStrictAnyGeneric] -# flags: --strict +-- maybe a little useless because theres no strict but w/e +# flags: --disallow-any-generics from typing import TypeVar, Generic T = TypeVar('T') @@ -1439,6 +1441,7 @@ def f(c: A) -> None: # E: Missing type parameters for generic type "A" [case testStrictInConfigAnyGeneric] # flags: --config-file tmp/mypy.ini +-- maybe a little useless because theres no strict but w/e from typing import TypeVar, Generic T = TypeVar('T') @@ -1450,7 +1453,7 @@ def f(c: A) -> None: # E: Missing type parameters for generic type "A" pass [file mypy.ini] \[mypy] -strict = True +disallow_any_generics = True [out] @@ -1468,7 +1471,7 @@ def f(c: A) -> None: # E: Missing type parameters for generic type "A" [file pyproject.toml] \[tool.mypy] -strict = true +disallow_any_generics = true [out] @@ -1491,6 +1494,7 @@ strict = False [case testStrictFalseInConfigAnyGenericPyProjectTOML] +-- maybe a little useless because theres no strict but w/e # flags: --config-file tmp/pyproject.toml from typing import TypeVar, Generic @@ -1510,7 +1514,8 @@ strict = false [case testStrictAndStrictEquality] -# flags: --strict +-- maybe a little useless because theres no strict but w/e +# flags: --strict-equality x = 0 y = '' if x == y: # E: Non-overlapping equality check (left operand type: "int", right operand type: "str") diff --git a/test-data/unit/check-functions.test b/test-data/unit/check-functions.test index dd0ebb96a..33c29c090 100644 --- a/test-data/unit/check-functions.test +++ b/test-data/unit/check-functions.test @@ -2085,7 +2085,7 @@ class A(Generic[t]): return None [builtins fixtures/bool.pyi] [out] -main:5: error: Cannot use a covariant type variable as a parameter +main:5: error: This usage of this covariant type variable is unsafe as an input parameter.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' [case testRejectCovariantArgumentSplitLine] from typing import TypeVar, Generic @@ -2097,7 +2097,7 @@ class A(Generic[t]): return None [builtins fixtures/bool.pyi] [out] -main:6: error: Cannot use a covariant type variable as a parameter +main:6: error: This usage of this covariant type variable is unsafe as an input parameter.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' [case testRejectCovariantArgumentInLambda] from typing import TypeVar, Generic, Callable @@ -2110,7 +2110,7 @@ class Thing(Generic[t]): lambda _: None) [builtins fixtures/bool.pyi] [out] -main:8: error: Cannot use a covariant type variable as a parameter +main:8: error: This usage of this covariant type variable is unsafe as an input parameter.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' [case testRejectCovariantArgumentInLambdaSplitLine] from typing import TypeVar, Generic, Callable @@ -2124,7 +2124,7 @@ class A(Generic[t]): return None [builtins fixtures/bool.pyi] [out] -main:5: error: Cannot use a contravariant type variable as return type +main:5: error: This usage of this contravariant type variable is unsafe as a return type.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' [case testAcceptCovariantReturnType] from typing import TypeVar, Generic diff --git a/test-data/unit/check-protocols.test b/test-data/unit/check-protocols.test index b71bd59cd..159222a74 100644 --- a/test-data/unit/check-protocols.test +++ b/test-data/unit/check-protocols.test @@ -843,9 +843,9 @@ T_co = TypeVar('T_co', covariant=True) T_contra = TypeVar('T_contra', contravariant=True) class Proto(Protocol[T_co, T_contra]): # type: ignore - def one(self, x: T_co) -> None: # E: Cannot use a covariant type variable as a parameter + def one(self, x: T_co) -> None: # E: This usage of this covariant type variable is unsafe as an input parameter.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' pass - def other(self) -> T_contra: # E: Cannot use a contravariant type variable as return type + def other(self) -> T_contra: # E: This usage of this contravariant type variable is unsafe as a return type.$NLIf this is intentional and you know what you are doing, you can ignore this line with 'unsafe-variance' pass # Check that we respect user overrides of variance after the errors are reported diff --git a/test-data/unit/check-typeddict.test b/test-data/unit/check-typeddict.test index 1ca9ec593..ea4ba499c 100644 --- a/test-data/unit/check-typeddict.test +++ b/test-data/unit/check-typeddict.test @@ -221,16 +221,17 @@ reveal_type(d) # N: Revealed type is "TypedDict('__main__.D', {'y': builtins.in [builtins fixtures/dict.pyi] [typing fixtures/typing-typeddict.pyi] -[case testTypedDictWithClassmethodAlternativeConstructorDoesNotCrash] -# https://github.com/python/mypy/issues/5653 -from typing import TypedDict - -class Foo(TypedDict): - bar: str - @classmethod # E: Invalid statement in TypedDict definition; expected "field_name: field_type" - def baz(cls) -> "Foo": ... -[builtins fixtures/dict.pyi] -[typing fixtures/typing-typeddict.pyi] +-- This will crash under based mode +-- [case testTypedDictWithClassmethodAlternativeConstructorDoesNotCrash] +-- # https://github.com/python/mypy/issues/5653 +-- from typing import TypedDict + +-- class Foo(TypedDict): +-- bar: str +-- @classmethod # E: Invalid statement in TypedDict definition; expected "field_name: field_type" +-- def baz(cls) -> "Foo": ... +-- [builtins fixtures/dict.pyi] +-- [typing fixtures/typing-typeddict.pyi] [case testCanCreateTypedDictTypeWithUnderscoreItemName] from mypy_extensions import TypedDict diff --git a/test-data/unit/cmdline-based-baseline.test b/test-data/unit/cmdline-based-baseline.test new file mode 100644 index 000000000..644f8ad5d --- /dev/null +++ b/test-data/unit/cmdline-based-baseline.test @@ -0,0 +1,342 @@ +-- Tests for baseline +-- ------------------------------ +-- See cmdline.test for specifics +-- ---------------------------------------- + +[case testWriteBaseline] +# cmd: mypy --write-baseline --baseline-file a/b --error-summary pkg +[file pkg/a.py] +a +[out] +pkg/a.py:1:1: error: Name "a" is not defined [name-defined] +Found 1 error (1 new error) in 1 file (checked 1 source file) +Baseline successfully written to a/b +== Return code: 0 +-- TODO merge this with the first one? +[case testWriteBaseline2] +# cmd: mypy --write-baseline --baseline-file a/b pkg +# dont-normalize-output: +[file pkg/a.py] +a +[outfile a/b] +{ + "files": { + "pkg/a.py": [ + { + "code": "name-defined", + "column": 0, + "message": "Name \"a\" is not defined", + "offset": 1, + "target": "a" + } + ] + }, + "format": "1.3", + "targets": [ + "file:pkg" + ] +} + + +[case testRewriteBaseline] +# cmd: mypy --write-baseline --error-summary pkg +[file pkg/a.py] +1 + "" +"" + 1 +[file .mypy/baseline.json] +{"pkg/a.py": [{"code": "operator", "line": 2, "message": "Unsupported operand types for + (\"str\" and \"int\")"}]} +[out] +pkg/a.py:1:5: error: Unsupported operand types for + ("int" and "str") [operator] +Found 2 errors (1 new error) in 1 file (checked 1 source file) +Baseline successfully written to .mypy/baseline.json +== Return code: 0 +-- TODO merge this with the first one? +[case testRewriteBaseline2] +# cmd: mypy --write-baseline --error-summary pkg +# dont-normalize-output: +[file pkg/a.py] +1 + "" +"" + 1 +[file .mypy/baseline.json] +{"pkg/a.py": [{"code": "operator", "line": 2, "message": "Unsupported operand types for + (\"str\" and \"int\")"}]} +[outfile .mypy/baseline.json] +{ + "files": { + "pkg/a.py": [ + { + "code": "operator", + "column": 4, + "message": "Unsupported operand types for + (\"int\" and \"str\")", + "offset": 1, + "target": "a" + }, + { + "code": "operator", + "column": 5, + "message": "Unsupported operand types for + (\"str\" and \"int\")", + "offset": 1, + "target": "a" + } + ] + }, + "format": "1.3", + "targets": [ + "file:pkg" + ] +} + + +[case testRewriteEmpty] +# cmd: mypy --write-baseline --error-summary pkg +[file pkg/a.py] +1 + 1 +"" + "" +[file .mypy/baseline.json] +{"pkg/a.py": [{"code": "operator", "line": 2, "message": "Unsupported operand types for + (\"str\" and \"int\")"}]} +[out] +No errors, baseline file removed +Success: no issues found in 1 source file +== Return code: 0 + + +[case testAutoBaselineRemoves] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +1 + 1 +[file .mypy/baseline.json] +{"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"line": 2, "code": "name-defined", "message": "Name \"a\" is not defined"}] +} +[out] +No errors, baseline file removed +Success: no issues found in 1 source file +== Return code: 0 + +[case testAutoBaselineDoesntActivateWithErrors] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +a +b +[file .mypy/baseline.json] +{"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"line": 2, "code": "name-defined", "message": "Name \"a\" is not defined"}]} +[out] +pkg/a.py:2:1: error: Name "b" is not defined [name-defined] +Found 1 error in 1 file (checked 1 source file) + + +[case testAutoBaselineUpdates] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +a +[file .mypy/baseline.json] +{ +"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"line": 2, "code": "name-defined", "message": "Name \"a\" is not defined"}] +} +[out] +Baseline successfully updated at .mypy/baseline.json +Success: no issues found in 1 source file +== Return code: 0 + + +[case testAutoBaselineDoesntMessageWhenSame] +# cmd: mypy --error-summary pkg +# dont-normalize-output: +[file pkg/a.py] +a +[file .mypy/baseline.json] +{ +"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"code": "name-defined", "column": 0, "line": 1, "message": "Name \"a\" is not defined", "target": "a"}] +} +[outfile .mypy/baseline.json] +{ +"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"code": "name-defined", "column": 0, "line": 1, "message": "Name \"a\" is not defined", "target": "a"}] +} +[case testAutoBaselineDoesntMessageWhenSame2] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +a +[file .mypy/baseline.json] +{ +"__baseline_metadata__": {"targets": ["file:pkg"]}, +"pkg/a.py": [{"code": "name-defined", "column": 0, "line": 1, "message": "Name \"a\" is not defined", "target": "a"}] +} +[out] +Success: no issues found in 1 source file +== Return code: 0 + + +[case testInvalidFormat] +# cmd: mypy --error-summary --baseline-file a/b pkg +[file pkg/a.py] +a +[file a/b] +{"__baseline_metadata__": {"targets": ["file:pkg"]}} +[out] +error: Baseline file 'a/b' has an invalid data format. +Perhaps it was generated with an older version of basedmypy, see `--baseline-format` +== Return code: 2 + + +[case testAutoBaselineDifferentTargets] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +a +[file .mypy/baseline.json] +{ +"targets": ["file:pkg/a.py"], +"format": "1.3", +"files": {"pkg/a.py": [{"offset": 2, "code": "name-defined", "message": "Name \"a\" is not defined"}]} +} +[out] +Success: no issues found in 1 source file +== Return code: 0 + + +[case testNoAutoBaseline] +# cmd: mypy --no-auto-baseline --error-summary pkg +[file pkg/a.py] +a +[file .mypy/baseline.json] +{"pkg/a.py": [{"line": 2, "code": "name-defined", "message": "Name \"a\" is not defined"}]} +[out] +Success: no issues found in 1 source file +== Return code: 0 + + +[case testNotFound] +# cmd: mypy --baseline-file a/b --error-summary pkg +[file pkg/a.py] +[out] +error: Baseline file not found at a/b +== Return code: 2 + + +[case testInvalidJSON] +# cmd: mypy --baseline-file a/b --error-summary pkg +[file pkg/a.py] +[file a/b] +hi +[out] +error: Invalid JSON in baseline file a/b +== Return code: 2 + + +[case testBaselineFilter] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +1 + "" +"" + 1 +[file .mypy/baseline.json] +{"pkg/a.py": [{"code": "operator", "line": 2, "message": "Unsupported operand types for + (\"str\" and \"int\")"}]} +[out] +pkg/a.py:1:5: error: Unsupported operand types for + ("int" and "str") [operator] +Found 1 error in 1 file (checked 1 source file) + + +[case testBlockers] +# cmd: mypy --write-baseline --error-summary main +[file main] + 1 +[out] +main:1:2: error: unexpected indent [syntax] +Found 1 error in 1 file (errors prevented further checking) +== Return code: 2 + + +[case testBaselineFilterLinkedNotes] +# cmd: mypy --error-summary pkg +[file pkg/a.py] +(a, 1 + "") # type: ignore[name-defined] +[file .mypy/baseline.json] +{ + "files": { + "pkg/a.py": [ + {"code": "name-defined", "column": 1, "message": "Name \"a\" is not defined", "offset": 1}, + {"code": "operator", "column": 0, "message": "Unsupported operand types for + (\"str\" and \"int\")", "offset": 0} + ] + }, + "format": "1.3", + "targets": [ "file:pkg" ] +} +[out] +Baseline successfully updated at .mypy/baseline.json +Success: no issues found in 1 source file +== Return code: 0 + + +[case testRevealType] +# cmd: mypy --error-summary pkg +[file pkg/main.py] +a: int +reveal_type(a) +[file .mypy/baseline.json] +{"main.py": [{"line": 1, "code": "misc", "message": "test"}]} +[out] +pkg/main.py:2:13: note: Revealed type is "int" +Success: no issues found in 1 source file + + +[case testRevealLocals] +# cmd: mypy --error-summary pkg +[file pkg/main.py] +def foo() -> None: + a: int + reveal_locals() # N: # N: +[file .mypy/baseline.json] +{"main.py": [{"line": 1, "code": "misc", "message": "test"}]} +[out] +pkg/main.py:3:5: note: Revealed local types are: +pkg/main.py:3:5: note: a: int +Success: no issues found in 1 source file + + +[case testBaselineFormat1_2] +# cmd: mypy --baseline-format 1.2 --error-summary pkg +[file pkg/main.py] +a: int = '' +b: str = 1 +[file .mypy/baseline.json] +{"pkg/main.py": [{"line": 1, "code": "assignment", "message": "Incompatible types in assignment (expression has type \"str\", variable has type \"int\")"}]} +[out] +pkg/main.py:2:10: error: Incompatible types in assignment (expression has type "int", variable has type "str") [assignment] +Found 1 error in 1 file (checked 1 source file) + + +[case testBaselineFormat1_3] +# cmd: mypy --baseline-format 1.3 --error-summary pkg +[file pkg/main.py] +a: int = '' +b: str = 1 +[file .mypy/baseline.json] +{ + "files": { + "pkg/main.py": [{"offset": 1, "code": "assignment", "message": "Incompatible types in assignment (expression has type \"str\", variable has type \"int\")"}] + }, + "format": "1.3", + "targets": ["file:pkg/main.py"] +} +[out] +pkg/main.py:2:10: error: Incompatible types in assignment (expression has type "int", variable has type "str") [assignment] +Found 1 error in 1 file (checked 1 source file) + + +[case testBaselineFormat1_4] +# cmd: mypy --error-summary pkg +[file pkg/main.py] +a: int = '' +b: str = 1 +[file .mypy/baseline.json] +{ + "files": { + "pkg/main.py": [{"offset": 1, "code": "assignment", "message": "Incompatible types in assignment (expression has type \"str\", variable has type \"int\")"}] + }, + "format": "1.4", + "targets": ["file:pkg/main.py"] +} +[out] +Invalid/Unsupported baseline file format: 1.4 +== Return code: 2 diff --git a/test-data/unit/daemon.test b/test-data/unit/daemon.test index c73be05e1..be892b2de 100644 --- a/test-data/unit/daemon.test +++ b/test-data/unit/daemon.test @@ -218,7 +218,7 @@ Daemon stopped [case testDaemonQuickstart] $ {python} -c "print('x=1')" >foo.py $ {python} -c "print('x=1')" >bar.py -$ mypy --local-partial-types --cache-fine-grained --follow-imports=error --no-sqlite-cache --python-version=3.6 -- foo.py bar.py +$ mypy --no-nonlocal-partial-types --cache-fine-grained --follow-imports=error --no-sqlite-cache --python-version=3.6 -- foo.py bar.py Success: no issues found in 2 source files $ {python} -c "import shutil; shutil.copy('.mypy_cache/3.6/bar.meta.json', 'asdf.json')" -- update bar's timestamp but don't change the file diff --git a/test-data/unit/fixtures/property.pyi b/test-data/unit/fixtures/property.pyi index b3f60abaf..f6a4e38c8 100644 --- a/test-data/unit/fixtures/property.pyi +++ b/test-data/unit/fixtures/property.pyi @@ -6,7 +6,7 @@ class object: def __init__(self) -> None: pass class type: - def __init__(self, x: typing.Any) -> None: pass + def __init__(self, x: object) -> None: pass class function: pass diff --git a/test-data/unit/fixtures/typing-full.pyi b/test-data/unit/fixtures/typing-full.pyi index 66b02638e..823ce3f40 100644 --- a/test-data/unit/fixtures/typing-full.pyi +++ b/test-data/unit/fixtures/typing-full.pyi @@ -10,8 +10,8 @@ from abc import abstractmethod, ABCMeta class GenericMeta(type): pass -def cast(t, o): ... -def assert_type(o, t): ... +def cast(t: Any, o: Any) -> Any: ... +def assert_type(o: Any, t: Any) -> Any: ... overload = 0 Any = 0 Union = 0 diff --git a/test-data/unit/fixtures/typing-typeddict.pyi b/test-data/unit/fixtures/typing-typeddict.pyi index 378570b4c..fd9b18650 100644 --- a/test-data/unit/fixtures/typing-typeddict.pyi +++ b/test-data/unit/fixtures/typing-typeddict.pyi @@ -43,8 +43,7 @@ class Iterator(Iterable[T_co], Protocol): def __next__(self) -> T_co: pass class Sequence(Iterable[T_co]): - # misc is for explicit Any. - def __getitem__(self, n: Any) -> T_co: pass # type: ignore[misc] + def __getitem__(self, n: Any) -> T_co: pass # type: ignore[no-any-explicit] class Mapping(Iterable[T], Generic[T, T_co], metaclass=ABCMeta): def __getitem__(self, key: T) -> T_co: pass diff --git a/test-data/unit/lib-stub/basedtyping.pyi b/test-data/unit/lib-stub/basedtyping.pyi new file mode 100644 index 000000000..026ce94c7 --- /dev/null +++ b/test-data/unit/lib-stub/basedtyping.pyi @@ -0,0 +1,7 @@ +# Stub for basedtyping. Many of the definitions have special handling in +# the type checker, so they can just be initialized to anything. +# +# DO NOT ADD TO THIS FILE UNLESS YOU HAVE A GOOD REASON! Additional definitions +# will slow down tests. + +Untyped = 0 \ No newline at end of file diff --git a/test-data/unit/lib-stub/helper.pyi b/test-data/unit/lib-stub/helper.pyi new file mode 100644 index 000000000..b186d5ad6 --- /dev/null +++ b/test-data/unit/lib-stub/helper.pyi @@ -0,0 +1,3 @@ +from typing import TypeVar + +T = TypeVar("T") diff --git a/test-data/unit/stubgen-based.test b/test-data/unit/stubgen-based.test new file mode 100644 index 000000000..86b78f4ea --- /dev/null +++ b/test-data/unit/stubgen-based.test @@ -0,0 +1,2670 @@ +-- Test cases for stubgen that generate stubs from Python code + +[case testEmptyFile] +[out] + +[case testSingleFunction] +def f(): + x = 1 +[out] +def f(): ... + +[case testTwoFunctions] +def f(a, b): + x = 1 +def g(arg): + pass +[out] +def f(a, b): ... +def g(arg): ... + +[case testDefaultArgInt] +def f(a, b=2): ... +def g(b=-1, c=0): ... +[out] +def f(a, b: int = ...): ... +def g(b: int = ..., c: int = ...): ... + +[case testDefaultArgNone] +def f(x=None): ... +[out] +from basedtyping import Untyped + +def f(x: Untyped | None = ...): ... + +[case testDefaultArgBool] +def f(x=True, y=False): ... +[out] +def f(x: bool = ..., y: bool = ...): ... + +[case testDefaultArgStr] +def f(x='foo'): ... +[out] +def f(x: str = ...): ... + +[case testDefaultArgBytes] +def f(x=b'foo'): ... +[out] +def f(x: bytes = ...): ... + +[case testDefaultArgFloat] +def f(x=1.2): ... +[out] +def f(x: float = ...): ... + +[case testDefaultArgOther] +def f(x=ord): ... +[out] +def f(x=...): ... + +[case testPreserveFunctionAnnotation] +def f(x: Foo) -> Bar: ... +def g(x: Foo = Foo()) -> Bar: ... +[out] +def f(x: Foo) -> Bar: ... +def g(x: Foo = ...) -> Bar: ... + +[case testPreserveFunctionAnnotationWithArgs] +def f(x: foo['x']) -> bar: ... +def g(x: foo[x]) -> bar: ... +def h(x: foo['x', 'y']) -> bar: ... +def i(x: foo[x, y]) -> bar: ... +def j(x: foo['x', y]) -> bar: ... +def k(x: foo[x, 'y']) -> bar: ... +def lit_str(x: Literal['str']) -> Literal['str']: ... +def lit_int(x: Literal[1]) -> Literal[1]: ... +[out] +def f(x: foo['x']) -> bar: ... +def g(x: foo[x]) -> bar: ... +def h(x: foo['x', 'y']) -> bar: ... +def i(x: foo[x, y]) -> bar: ... +def j(x: foo['x', y]) -> bar: ... +def k(x: foo[x, 'y']) -> bar: ... +def lit_str(x: Literal['str']) -> Literal['str']: ... +def lit_int(x: Literal[1]) -> Literal[1]: ... + +[case testPreserveVarAnnotation] +x: Foo +[out] +x: Foo + +[case testPreserveVarAnnotationWithoutQuotes] +x: 'Foo' +[out] +x: Foo + +[case testVarArgs] +def f(x, *y): ... +[out] +def f(x, *y): ... + +[case testKwVarArgs] +def f(x, **y): ... +[out] +def f(x, **y): ... + +[case testVarArgsWithKwVarArgs] +def f(a, *b, **c): ... +def g(a, *b, c=1): ... +def h(a, *b, c=1, **d): ... +def i(a, *, b=1): ... +def j(a, *, b=1, **c): ... +[out] +def f(a, *b, **c): ... +def g(a, *b, c: int = ...): ... +def h(a, *b, c: int = ..., **d): ... +def i(a, *, b: int = ...): ... +def j(a, *, b: int = ..., **c): ... + +[case testClass] +class A: + def f(self, x): + x = 1 +def g(): ... +[out] +class A: + def f(self, x): ... + +def g(): ... + +[case testVariable] +x = 1 +[out] +x: int + +[case testAnnotatedVariable] +x: int = 1 +[out] +x: int + +[case testAnnotatedVariableGeneric] +x: Foo[int, str] = ... +[out] +x: Foo[int, str] + +[case testAnnotatedVariableOldSyntax] +x = 1 # type: int +[out] +x: int + +[case testAnnotatedVariableNone] +x: None +[out] +x: None + +[case testAnnotatedVariableNoneOldSyntax] +x = None # type: None +[out] +x: None + +[case testMultipleVariable] +x = y = 1 +[out] +x: int +y: int + +[case testClassVariable] +class C: + x = 1 +[out] +class C: + x: int + +[case testInitTypeAnnotationPreserved] +class C: + def __init__(self, x: str): + pass +[out] +class C: + def __init__(self, x: str): ... + +[case testSelfAssignment] +class C: + def __init__(self): + self.x = 1 + x.y = 2 +[out] +class C: + x: int + def __init__(self): ... + +[case testSelfAndClassBodyAssignment] +x = 1 +class C: + x = 1 + def __init__(self): + self.x = 1 + self.x = 1 +[out] +x: int + +class C: + x: int + def __init__(self): ... + +[case testEmptyClass] +class A: ... +[out] +class A: ... + +[case testSkipPrivateFunction] +def _f(): ... +def g(): ... +[out] +def g(): ... + +[case testIncludePrivateFunction] +# flags: --include-private +def _f(): ... +def g(): ... +[out] +def _f(): ... +def g(): ... + +[case testSkipPrivateMethod] +class A: + def _f(self): ... +[out] +class A: ... + +[case testIncludePrivateMethod] +# flags: --include-private +class A: + def _f(self): ... +[out] +class A: + def _f(self): ... + +[case testSkipPrivateVar] +_x = 1 +class A: + _y = 1 +[out] +class A: ... + +[case testIncludePrivateVar] +# flags: --include-private +_x = 1 +class A: + _y = 1 +[out] +_x: int + +class A: + _y: int + +[case testSpecialInternalVar] +__all__ = [] +__author__ = '' +__version__ = '' +[out] + +[case testBaseClass] +class A: ... +class B(A): ... +[out] +class A: ... +class B(A): ... + +[case testDecoratedFunction] +@decorator +def foo(x): ... +[out] +def foo(x): ... + +[case testMultipleAssignment] +x, y = 1, 2 +[out] +from basedtyping import Untyped + +x: Untyped +y: Untyped + +[case testMultipleAssignmentAnnotated] +x, y = 1, "2" # type: int, str +[out] +x: int +y: str + +[case testMultipleAssignment2] +[x, y] = 1, 2 +[out] +from basedtyping import Untyped + +x: Untyped +y: Untyped + +[case testKeywordOnlyArg] +def f(x, *, y=1): ... +def g(x, *, y=1, z=2): ... +[out] +def f(x, *, y: int = ...): ... +def g(x, *, y: int = ..., z: int = ...): ... + +[case testProperty] +class A: + @property + def f(self): + return 1 + @f.setter + def f(self, x): ... + + def h(self): + self.f = 1 +[out] +from basedtyping import Untyped + +class A: + @property + def f(self) -> Untyped: ... + @f.setter + def f(self, x): ... + def h(self): ... + +[case testStaticMethod] +class A: + @staticmethod + def f(x): ... +[out] +class A: + @staticmethod + def f(x): ... + +[case testClassMethod] +class A: + @classmethod + def f(cls): ... +[out] +class A: + @classmethod + def f(cls): ... + +[case testIfMainCheck] +def a(): ... +if __name__ == '__main__': + x = 1 + def f(): ... +def b(): ... +[out] +def a(): ... +def b(): ... + +[case testImportStar] +from x import * +from a.b import * +def f(): ... +[out] +from x import * +from a.b import * + +def f(): ... + +[case testNoSpacesBetweenEmptyClasses] +class X: + def g(self): ... +class A: ... +class B: ... +class C: + def f(self): ... +[out] +class X: + def g(self): ... + +class A: ... +class B: ... + +class C: + def f(self): ... + +[case testExceptionBaseClasses] +class A(Exception): ... +class B(ValueError): ... +[out] +class A(Exception): ... +class B(ValueError): ... + +[case testOmitSomeSpecialMethods] +class A: + def __str__(self): ... + def __repr__(self): ... + def __eq__(self): ... + def __getstate__(self): ... + def __setstate__(self, state): ... +[out] +from basedtyping import Untyped + +class A: + def __eq__(self) -> Untyped: ... + +-- Tests that will perform runtime imports of modules. +-- Don't use `_import` suffix if there are unquoted forward references. + +[case testOmitDefsNotInAll_import] +__all__ = [] + ['f'] +def f(): ... +def g(): ... +[out] +def f(): ... + +[case testOmitDefsNotInAll_semanal] +__all__ = ['f'] +def f(): ... +def g(): ... +[out] +def f(): ... + +[case testVarDefsNotInAll_import] +__all__ = [] + ['f', 'g'] +def f(): ... +x = 1 +y = 1 +def g(): ... +[out] +def f(): ... +def g(): ... + +[case testIncludeClassNotInAll_import] +__all__ = [] + ['f'] +def f(): ... +class A: ... +[out] +def f(): ... + +class A: ... + +[case testAllAndClass_import] +__all__ = ['A'] +class A: + x = 1 + def f(self): ... +[out] +class A: + x: int + def f(self): ... + +[case testSkipMultiplePrivateDefs] +class A: ... +_x = 1 +_y = 1 +_z = 1 +class C: ... +[out] +class A: ... +class C: ... + +[case testIncludeMultiplePrivateDefs] +# flags: --include-private +class A: ... +_x = 1 +_y = 1 +_z = 1 +class C: ... +[out] +class A: ... + +_x: int +_y: int +_z: int + +class C: ... + +[case testIncludeFromImportIfInAll_import] +from re import match, search, sub +__all__ = ['match', 'sub', 'x'] +x = 1 +[out] +from re import match as match, sub as sub + +x: int + +[case testExportModule_import] +import re +__all__ = ['re', 'x'] +x = 1 +y = 2 +[out] +import re as re + +x: int + +[case testExportModule2_import] +import re +__all__ = ['re', 'x'] +x = 1 +y = 2 +[out] +import re as re + +x: int + +[case testExportModuleAs_import] +import re as rex +__all__ = ['rex', 'x'] +x = 1 +y = 2 +[out] +import re as rex + +x: int + +[case testExportModuleInPackage_import] +import urllib.parse as p +__all__ = ['p'] +[out] +import urllib.parse as p + +[case testExportPackageOfAModule_import] +import urllib.parse +__all__ = ['urllib'] + +[out] +import urllib as urllib + +[case testRelativeImportAll] +from .x import * +[out] +from .x import * + +[case testCommentForUndefinedName_import] +__all__ = ['f', 'x', 'C', 'g'] +def f(): ... +x = 1 +class C: + def g(self): ... +[out] +def f(): ... + +x: int + +class C: + def g(self): ... + +# Names in __all__ with no definition: +# g + +[case testIgnoreSlots] +class A: + __slots__ = () +[out] +class A: ... + +[case testSkipPrivateProperty] +class A: + @property + def _foo(self): ... +[out] +class A: ... + +[case testIncludePrivateProperty] +# flags: --include-private +class A: + @property + def _foo(self): ... +[out] +class A: + @property + def _foo(self): ... + +[case testSkipPrivateStaticAndClassMethod] +class A: + @staticmethod + def _foo(): ... + @classmethod + def _bar(cls): ... +[out] +class A: ... + +[case testIncludePrivateStaticAndClassMethod] +# flags: --include-private +class A: + @staticmethod + def _foo(): ... + @classmethod + def _bar(cls): ... +[out] +class A: + @staticmethod + def _foo(): ... + @classmethod + def _bar(cls): ... + +[case testNamedtuple] +import collections, x +X = collections.namedtuple('X', ['a', 'b']) +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class X(NamedTuple): + a: Untyped + b: Untyped + +[case testEmptyNamedtuple] +import collections +X = collections.namedtuple('X', []) +[out] +from typing import NamedTuple + +class X(NamedTuple): ... + +[case testNamedtupleAltSyntax] +from collections import namedtuple, xx +X = namedtuple('X', 'a b') +xx +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class X(NamedTuple): + a: Untyped + b: Untyped + +[case testNamedtupleAltSyntaxUsingComma] +from collections import namedtuple, xx +X = namedtuple('X', 'a, b') +xx +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class X(NamedTuple): + a: Untyped + b: Untyped + +[case testNamedtupleAltSyntaxUsingMultipleCommas] +from collections import namedtuple, xx +X = namedtuple('X', 'a,, b') +xx +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class X(NamedTuple): + a: Untyped + b: Untyped + +[case testNamedtupleWithUnderscore] +from collections import namedtuple as _namedtuple +def f(): ... +X = _namedtuple('X', 'a b') +def g(): ... +[out] +from basedtyping import Untyped +from typing import NamedTuple + +def f(): ... + +class X(NamedTuple): + a: Untyped + b: Untyped + +def g(): ... + +[case testNamedtupleBaseClass] +import collections, x +_X = collections.namedtuple('_X', ['a', 'b']) +class Y(_X): ... +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class _X(NamedTuple): + a: Untyped + b: Untyped + +class Y(_X): ... + +[case testNamedtupleAltSyntaxFieldsTuples] +from collections import namedtuple, xx +X = namedtuple('X', ()) +Y = namedtuple('Y', ('a',)) +Z = namedtuple('Z', ('a', 'b', 'c', 'd', 'e')) +xx +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class X(NamedTuple): ... + +class Y(NamedTuple): + a: Untyped + +class Z(NamedTuple): + a: Untyped + b: Untyped + c: Untyped + d: Untyped + e: Untyped + +[case testDynamicNamedTuple] +from collections import namedtuple +N = namedtuple('N', ['x', 'y'] + ['z']) +[out] +from basedtyping import Untyped + +N: Untyped + +[case testArbitraryBaseClass] +import x +class D(x.C): ... +[out] +import x + +class D(x.C): ... + +[case testArbitraryBaseClass2] +import x.y +class D(x.y.C): ... +[out] +import x.y + +class D(x.y.C): ... + +[case testUnqualifiedArbitraryBaseClassWithNoDef] +class A(int): ... +[out] +class A(int): ... + +[case testUnqualifiedArbitraryBaseClass] +from x import X +class A(X): ... +[out] +from x import X + +class A(X): ... + +[case testUnqualifiedArbitraryBaseClassWithImportAs] +from x import X as _X +class A(_X): ... +[out] +from x import X as _X + +class A(_X): ... + +[case testGenericClass] +class D(Generic[T]): ... +[out] +class D(Generic[T]): ... + +[case testObjectBaseClass] +class A(object): ... +[out] +class A: ... + +[case testEmptyLines] +def x(): ... +def f(): + class A: + def f(self): + self.x = 1 +def g(): ... +[out] +def x(): ... +def f(): ... +def g(): ... + +[case testNestedClass] +class A: + class B: + x = 1 + def f(self): ... + def g(self): ... +[out] +class A: + class B: + x: int + def f(self): ... + def g(self): ... + +[case testExportViaRelativeImport] +from .api import get +[out] +from .api import get as get + +[case testExportViaRelativePackageImport] +from .packages.urllib3.contrib import parse +[out] +from .packages.urllib3.contrib import parse as parse + +[case testNoExportViaRelativeImport] +from . import get +get() +[out] + +[case testRelativeImportAndBase] +from .x import X +class A(X): + pass +[out] +from .x import X + +class A(X): ... + +[case testDuplicateDef] +def syslog(a): pass +def syslog(a): pass +[out] +def syslog(a): ... + +[case testAsyncAwait_fast_parser] +async def f(a): + x = await y +[out] +async def f(a): ... + +[case testInferOptionalOnlyFunc] +class A: + x = None + def __init__(self, a=None): + self.x = [] + def method(self, a=None): + self.x = [] +[out] +from basedtyping import Untyped + +class A: + x: Untyped + def __init__(self, a: Untyped | None = ...): ... + def method(self, a: Untyped | None = ...): ... + +[case testAnnotationImportsFrom] +import foo +from collections import defaultdict +x: defaultdict + +[out] +from collections import defaultdict + +x: defaultdict + +[case testAnnotationImports] +import foo +import collections +x: collections.defaultdict + +[out] +import collections + +x: collections.defaultdict + + +[case testAnnotationImports2] +from typing import List +import collections +x: List[collections.defaultdict] + +[out] +import collections +from typing import List + +x: List[collections.defaultdict] + + +[case testAnnotationFwRefs] +x: C + +class C: + attr: C + +y: C +[out] +x: C + +class C: + attr: C + +y: C + +[case testTypeVarPreserved] +tv = TypeVar('tv') + +[out] +from typing import TypeVar + +tv = TypeVar('tv') + +[case testTypeVarArgsPreserved] +tv = TypeVar('tv', int, str) + +[out] +from typing import TypeVar + +tv = TypeVar('tv', int, str) + +[case testTypeVarNamedArgsPreserved] +tv = TypeVar('tv', bound=bool, covariant=True) + +[out] +from typing import TypeVar + +tv = TypeVar('tv', bound=bool, covariant=True) + +[case testTypeAliasPreserved] +alias = str + +[out] +alias = str + +[case testDeepTypeAliasPreserved] + +alias = Dict[str, List[str]] + +[out] +alias = Dict[str, List[str]] + +[case testDeepGenericTypeAliasPreserved] +from typing import TypeVar + +T = TypeVar('T') +alias = Union[T, List[T]] + +[out] +from typing import TypeVar + +T = TypeVar('T') +alias = Union[T, List[T]] + +[case testEllipsisAliasPreserved] + +alias = Tuple[int, ...] + +[out] +alias = Tuple[int, ...] + +[case testCallableAliasPreserved] + +alias1 = Callable[..., int] +alias2 = Callable[[str, bool], None] + +[out] +alias1 = Callable[..., int] +alias2 = Callable[[str, bool], None] + +[case testAliasPullsImport] +from module import Container + +alias = Container[Any] + +[out] +from module import Container +from typing import Any + +alias = Container[Any] + +[case testAliasOnlyToplevel] +class Foo: + alias = str + +[out] +from basedtyping import Untyped + +class Foo: + alias: Untyped + +[case testAliasExceptions] +noalias1 = None +noalias2 = ... +noalias3 = True + +[out] +from basedtyping import Untyped + +noalias1: Untyped +noalias2: Untyped +noalias3: bool + +-- More features/fixes: +-- do not export deleted names + +[case testFunctionNoReturnInfersReturnNone] +def f(): + x = 1 +[out] +def f(): ... + +[case testFunctionReturnNoReturnType] +def f(): + return 1 +def g(): + return +[out] +from basedtyping import Untyped + +def f() -> Untyped: ... +def g(): ... + +[case testFunctionEllipsisInfersReturnNone] +def f(): ... +[out] +def f(): ... + +[case testFunctionYields] +def f(): + yield 123 +def g(): + x = yield +def h1(): + yield + return +def h2(): + yield + return "abc" +def all(): + x = yield 123 + return "abc" +[out] +from basedtyping import Untyped +from collections.abc import Generator + +def f() -> Generator[Untyped, None, None]: ... +def g() -> Generator[None, Untyped, None]: ... +def h1() -> Generator[None, None, None]: ... +def h2() -> Generator[None, None, Untyped]: ... +def all() -> Generator[Untyped, Untyped, Untyped]: ... + +[case testFunctionYieldsNone] +def f(): + yield +def g(): + yield None + +[out] +from collections.abc import Generator + +def f() -> Generator[None, None, None]: ... +def g() -> Generator[None, None, None]: ... + +[case testGeneratorAlreadyDefined] +class Generator: + pass + +def f(): + yield 123 +[out] +from basedtyping import Untyped +from collections.abc import Generator as _Generator + +class Generator: ... + +def f() -> _Generator[Untyped, None, None]: ... + +[case testCallable] +from typing import Callable + +x: Callable[[int, int], int] +[out] +from typing import Callable + +x: Callable[[int, int], int] + +[case testAwaitDef] +class F: + async def f(self): + return 1 + +async def g(): + return 2 +[out] +from basedtyping import Untyped + +class F: + async def f(self) -> Untyped: ... + +async def g() -> Untyped: ... + +[case testCoroutineImportAsyncio] +import asyncio + +class F: + @asyncio.coroutine + def f(self): + return 1 + +@asyncio.coroutine +def g(): + return 2 + +@asyncio.coroutine +def h(): + return 3 +[out] +import asyncio +from basedtyping import Untyped + +class F: + @asyncio.coroutine + def f(self) -> Untyped: ... + +@asyncio.coroutine +def g() -> Untyped: ... +@asyncio.coroutine +def h() -> Untyped: ... + +[case testCoroutineImportAsyncioCoroutines] +import asyncio.coroutines + +class F: + @asyncio.coroutines.coroutine + def f(self): + return 1 + +@asyncio.coroutines.coroutine +def g(): + return 2 +[out] +import asyncio.coroutines +from basedtyping import Untyped + +class F: + @asyncio.coroutines.coroutine + def f(self) -> Untyped: ... + +@asyncio.coroutines.coroutine +def g() -> Untyped: ... + +[case testCoroutineImportAsyncioCoroutinesSub] +import asyncio + +class F: + @asyncio.coroutines.coroutine + def f(self): + return 1 + +@asyncio.coroutines.coroutine +def g(): + return 2 +[out] +import asyncio +from basedtyping import Untyped + +class F: + @asyncio.coroutines.coroutine + def f(self) -> Untyped: ... + +@asyncio.coroutines.coroutine +def g() -> Untyped: ... + +[case testCoroutineImportTypes] +import types + +class F: + @types.coroutine + def f(self): + return 1 + +@types.coroutine +def g(): + return 2 +[out] +import types +from basedtyping import Untyped + +class F: + @types.coroutine + def f(self) -> Untyped: ... + +@types.coroutine +def g() -> Untyped: ... + +[case testCoroutineFromAsyncioImportCoroutine] +from asyncio import coroutine + +class F: + @coroutine + def f(self): + return 1 + +@coroutine +def g(): + return 2 +[out] +from asyncio import coroutine +from basedtyping import Untyped + +class F: + @coroutine + def f(self) -> Untyped: ... + +@coroutine +def g() -> Untyped: ... + +[case testCoroutineFromAsyncioCoroutinesImportCoroutine] +from asyncio.coroutines import coroutine + +class F: + @coroutine + def f(self): + return 1 + +@coroutine +def g(): + return 2 +[out] +from asyncio.coroutines import coroutine +from basedtyping import Untyped + +class F: + @coroutine + def f(self) -> Untyped: ... + +@coroutine +def g() -> Untyped: ... + +[case testCoroutineFromTypesImportCoroutine] +from types import coroutine + +class F: + @coroutine + def f(self): + return 1 + +@coroutine +def g(): + return 2 +[out] +from basedtyping import Untyped +from types import coroutine + +class F: + @coroutine + def f(self) -> Untyped: ... + +@coroutine +def g() -> Untyped: ... + +[case testCoroutineFromAsyncioImportCoroutineAsC] +from asyncio import coroutine as c + +class F: + @c + def f(self): + return 1 + +@c +def g(): + return 2 +[out] +from asyncio import coroutine as c +from basedtyping import Untyped + +class F: + @c + def f(self) -> Untyped: ... + +@c +def g() -> Untyped: ... + +[case testCoroutineFromAsyncioCoroutinesImportCoroutineAsC] +from asyncio.coroutines import coroutine as c + +class F: + @c + def f(self): + return 1 + +@c +def g(): + return 2 +[out] +from asyncio.coroutines import coroutine as c +from basedtyping import Untyped + +class F: + @c + def f(self) -> Untyped: ... + +@c +def g() -> Untyped: ... + +[case testCoroutineFromTypesImportCoroutineAsC] +from types import coroutine as c + +class F: + @c + def f(self): + return 1 + +@c +def g(): + return 2 +[out] +from basedtyping import Untyped +from types import coroutine as c + +class F: + @c + def f(self) -> Untyped: ... + +@c +def g() -> Untyped: ... + +[case testCoroutineImportAsyncioAsA] +import asyncio as a + +class F: + @a.coroutine + def f(self): + return 1 + +@a.coroutine +def g(): + return 2 +[out] +import asyncio as a +from basedtyping import Untyped + +class F: + @a.coroutine + def f(self) -> Untyped: ... + +@a.coroutine +def g() -> Untyped: ... + +[case testCoroutineImportAsyncioCoroutinesAsC] +import asyncio.coroutines as c + +class F: + @c.coroutine + def f(self): + return 1 + +@c.coroutine +def g(): + return 2 +[out] +import asyncio.coroutines as c +from basedtyping import Untyped + +class F: + @c.coroutine + def f(self) -> Untyped: ... + +@c.coroutine +def g() -> Untyped: ... + +[case testCoroutineImportAsyncioCoroutinesSubAsA] +import asyncio as a + +class F: + @a.coroutines.coroutine + def f(self): + return 1 + +@a.coroutines.coroutine +def g(): + return 2 +[out] +import asyncio as a +from basedtyping import Untyped + +class F: + @a.coroutines.coroutine + def f(self) -> Untyped: ... + +@a.coroutines.coroutine +def g() -> Untyped: ... + +[case testCoroutineImportTypesAsT] +import types as t + +class F: + @t.coroutine + def f(self): + return 1 + +@t.coroutine +def g(): + return 2 +[out] +import types as t +from basedtyping import Untyped + +class F: + @t.coroutine + def f(self) -> Untyped: ... + +@t.coroutine +def g() -> Untyped: ... + +[case testCoroutineSpecialCase_import] +import asyncio + +__all__ = ['C'] + +@asyncio.coroutine +def f(): + pass + +class C: + def f(self): + pass +[out] +import asyncio + +class C: + def f(self): ... + +-- Tests for stub generation from semantically analyzed trees. +-- These tests are much slower, so use the `_semanal` suffix only when needed. + +[case testNestedClass_semanal] +class Outer: + class Inner: + pass + +A = Outer.Inner +[out] +class Outer: + class Inner: ... +A = Outer.Inner + +[case testFunctionAlias_semanal] +from asyncio import coroutine + +@coroutine +def start_server(): + ... + +start = start_server +[out] +from asyncio import coroutine + +@coroutine +def start_server(): ... +start = start_server + +[case testModuleAlias_semanal] +import a + +b = a +[file a.py] +x = 1 +[out] +import a + +b = a + +[case testBadAliasNested_semanal] +import a + +x = registry[a.f] +[file a.py] +def f(): ... +[out] +from basedtyping import Untyped + +x: Untyped + +[case testCrossModuleClass_semanal] +import a + +class C: + x: A + def f(self) -> A: ... +A = a.A +[file a.py] +class A: ... +[out] +import a + +class C: + x: A + def f(self) -> A: ... +A = a.A + +[case testCrossModuleFunction_semanal] +import a +g = a.f +[file a.py] +def f(): ... +[out] +import a + +g = a.f + +[case testPrivateAliasesExcluded_semanal] +import a, _a + +class C: ... + +A = a._A +B = _a.f +_C = C +[file a.py] +class _A: ... +[file _a.py] +def f(): ... +[out] +from basedtyping import Untyped + +class C: ... + +A: Untyped +B: Untyped + +[case testPrivateAliasesIncluded_semanal] +# flags: --include-private +import a, _a + +class C: ... + +A = a._A +B = _a.f +_C = C +[file a.py] +class _A: ... +[file _a.py] +def f(): ... +[out] +import _a +import a + +class C: ... +A = a._A +B = _a.f +_C = C + +[case testFinalWrapped_semanal] +from typing import Final + +x: Final = 1 +y: Final = x +z: Final[object] +t: Final +[out] +from basedtyping import Untyped +from typing import Final + +x: Final[int] +y: Final[Untyped] +z: Final[object] +t: Final[Untyped] + +[case testFinalInvalid_semanal] +Final = 'boom' + +x: Final = 1 +[out] +Final: str +x: Final + +[case testNoFunctionNested_semanal] +import a +from typing import Dict, Any + +funcs: Dict[Any, Any] +f = funcs[a.f] +[out] +from basedtyping import Untyped +from typing import Any, Dict + +funcs: Dict[Any, Any] +f: Untyped + +[case testAbstractMethodNameExpr] +from abc import ABCMeta, abstractmethod + +class A(metaclass=ABCMeta): + @abstractmethod + def meth(self): + pass +[out] +from abc import ABCMeta, abstractmethod +from basedtyping import Untyped + +class A(metaclass=ABCMeta): + @abstractmethod + def meth(self) -> Untyped: ... + +[case testAbstractMethodMemberExpr] +import abc + +class A(metaclass=abc.ABCMeta): + @abc.abstractmethod + def meth(self): + pass +[out] +import abc +from basedtyping import Untyped + +class A(metaclass=abc.ABCMeta): + @abc.abstractmethod + def meth(self) -> Untyped: ... + +[case testAbstractMethodMemberExpr2] +import abc as _abc + +class A(metaclass=abc.ABCMeta): + @_abc.abstractmethod + def meth(self): + pass +[out] +import abc as _abc +from basedtyping import Untyped + +class A(metaclass=abc.ABCMeta): + @_abc.abstractmethod + def meth(self) -> Untyped: ... + +[case testABCMeta_semanal] +from base import Base +from abc import abstractmethod + +class C(Base): + @abstractmethod + def other(self): + pass + +[file base.py] +from abc import abstractmethod, ABCMeta + +class Base(metaclass=ABCMeta): + @abstractmethod + def meth(self): + pass +[out] +import abc +from abc import abstractmethod +from base import Base +from basedtyping import Untyped + +class C(Base, metaclass=abc.ABCMeta): + @abstractmethod + def other(self) -> Untyped: ... + +[case testInvalidNumberOfArgsInAnnotation] +def f(x): + # type: () -> int + return '' + +[out] +from basedtyping import Untyped + +def f(x) -> Untyped: ... + +[case testFunctionPartiallyAnnotated] +def f(x): + pass + +def g(x, y: str): + pass + +class A: + def f(self, x): + pass + +[out] +from basedtyping import Untyped + +def f(x): ... +def g(x, y: str) -> Untyped: ... + +class A: + def f(self, x): ... + +[case testExplicitAnyArg] +from typing import Any + +def f(x: Any): + pass +def g(x, y: Any) -> str: + pass +def h(x: Any) -> str: + pass + +[out] +from basedtyping import Untyped +from typing import Any + +def f(x: Any) -> Untyped: ... +def g(x, y: Any) -> str: ... +def h(x: Any) -> str: ... + +[case testExplicitReturnedAny] +from typing import Any + +def f(x: str) -> Any: + pass +def g(x, y: str) -> Any: + pass +def h(x) -> Any: + pass + +[out] +from typing import Any + +def f(x: str) -> Any: ... +def g(x, y: str) -> Any: ... +def h(x) -> Any: ... + +[case testPlacementOfDecorators] +class A: + @property + def x(self): + self.y = 'y' + return 'x' + +class B: + @property + def x(self): + return 'x' + + @x.setter + def x(self, value): + self.y = 'y' + +[out] +from basedtyping import Untyped + +class A: + y: str + @property + def x(self) -> Untyped: ... + +class B: + @property + def x(self) -> Untyped: ... + y: str + @x.setter + def x(self, value): ... + +[case testMisplacedTypeComment] +def f(): + x = 0 + + # type: str + y = '' + +[out] +def f(): ... + +[case testConditionalImportAll_semanal] +__all__ = ['cookielib'] + +if object(): + from http import cookiejar as cookielib +else: + import cookielib + +[out] +import cookielib as cookielib + +[case testCannotCalculateMRO_semanal] +class X: pass + +class int(int, X): # Cycle + pass + +class A: pass +class B(A): pass +class C(B): pass +class D(A, B): pass # No consistent method resolution order +class E(C, D): pass # Ditto + +[out] +class X: ... +class int(int, X): ... +class A: ... +class B(A): ... +class C(B): ... +class D(A, B): ... +class E(C, D): ... + +[case testUnreachableCode_semanal] +MYPY = False +class A: pass +if MYPY: + class C(A): + def f(self): pass +else: + def f(i): + return i + + class C(A): + def g(self): pass +[out] +MYPY: bool + +class A: ... + +class C(A): + def f(self): ... + +[case testAbstractProperty1_semanal] +import other +import abc + +class A: + @abc.abstractproperty + def x(self): pass + +[out] +import abc +from basedtyping import Untyped + +class A(metaclass=abc.ABCMeta): + @property + @abc.abstractmethod + def x(self) -> Untyped: ... + +[case testAbstractProperty2_semanal] +import other +from abc import abstractproperty + +class A: + @abstractproperty + def x(self): pass + +[out] +import abc +from basedtyping import Untyped + +class A(metaclass=abc.ABCMeta): + @property + @abc.abstractmethod + def x(self) -> Untyped: ... + +[case testAbstractProperty3_semanal] +import other +from abc import abstractproperty as alias_name + +class A: + @alias_name + def x(self): pass + +[out] +import abc +from basedtyping import Untyped + +class A(metaclass=abc.ABCMeta): + @property + @abc.abstractmethod + def x(self) -> Untyped: ... + +[case testClassWithNameUntypedOrOptional] +Y = object() + +def g(x=None): pass + +x = g() + +class Untyped: + pass + +def Optional(): + return 0 + +[out] +from basedtyping import Untyped as _Untyped + +Y: _Untyped + +def g(x: _Untyped | None = ...): ... + +x: _Untyped + +class Untyped: ... + +def Optional() -> _Untyped: ... + +[case testExportedNameImported] +# modules: main a b +from a import C + +class D(C): pass + +[file a.py] +from b import C + +[file b.py] +class C: pass + +[out] +# main.pyi +from a import C + +class D(C): ... +# a.pyi +from b import C as C +# b.pyi +class C: ... + +[case testVendoredSix] +from p1.vendored import six +from p1.vendor.six import foobar +from p1.packages.six.moves import http_client +from .packages.six.moves import queue +from p1.vendored.six.moves.http_client import foo +from p1.vendored.six.moves.urllib.parse import bar + +class C(http_client.HTTPMessage): pass +class D(six.Iterator): pass + +[out] +import six +from six import foobar as foobar +from six.moves import http_client, queue as queue +from six.moves.http_client import foo as foo +from six.moves.urllib.parse import bar as bar + +class C(http_client.HTTPMessage): ... +class D(six.Iterator): ... + +[case testVendoredPackage] +# modules: main p.vendored.requests p.sub.requests +from p.vendored.requests import Request +from p.sub.requests import Request2 + +x = Request() +y = Request2() + +[file p/__init__.py] + +[file p/vendored/__init__.py] + +[file p/vendored/requests.py] +class Request: + pass + +[file p/sub/__init__.py] + +[file p/sub/requests.py] +class Request2: + pass + +[out] +# main.pyi +from basedtyping import Untyped + +x: Untyped +y: Untyped + +# p/sub/requests.pyi +class Request2: ... + +[case testTestFiles] +# modules: p p.x p.tests p.tests.test_foo + +[file p/__init__.py] +def f(): pass + +[file p/x.py] +def g(): pass + +[file p/tests/__init__.py] + +[file p/tests/test_foo.py] +def test_thing(): pass + +[out] +# p/__init__.pyi +def f(): ... +# p/x.pyi +def g(): ... + + + +[case testTestFiles_import] +# modules: p p.x p.tests p.tests.test_foo + +[file p/__init__.py] +def f(): pass + +[file p/x.py] +def g(): pass + +[file p/tests/__init__.py] + +[file p/tests/test_foo.py] +def test_thing(): pass + +[out] +# p/__init__.pyi +def f(): ... +# p/x.pyi +def g(): ... + + + +[case testVerboseFlag] +# Just test that --verbose does not break anything in a basic test case. +# flags: --verbose + +def f(x, y): pass +[out] +def f(x, y): ... + +[case testImportedModuleExits_import] +# modules: a b c + +[file a.py] +def g(): pass + +[file b.py] +import sys +def f(): pass +sys.exit(1) + +[file c.py] +x = 0 + +[out] +# a.pyi +def g(): ... +# b.pyi +def f(): ... +# c.pyi +x: int + +[case testImportedModuleHardExits_import] +# modules: a b c + +[file a.py] +def g(): pass + +[file b.py] +import os +def f(): pass +os._exit(1) # Kill process + +[file c.py] +x = 0 + +[out] +# a.pyi +def g(): ... +# b.pyi +def f(): ... +# c.pyi +x: int + +[case testImportedModuleHardExits2_import] +# modules: p/a p/b p/c + +[file p/__init__.py] + +[file p/a.py] +def g(): pass + +[file p/b.py] +import os +def f(): pass +os._exit(1) # Kill process + +[file p/c.py] +x = 0 + +[out] +# p/a.pyi +def g(): ... +# p/b.pyi +def f(): ... +# p/c.pyi +x: int + +[case testImportedModuleHardExits3_import] +# modules: p p/a + +[file p/__init__.py] +import os +def f(): pass +os._exit(1) # Kill process + +[file p/a.py] +def g(): pass + +[out] +# p/__init__.pyi +def f(): ... +# p/a.pyi +def g(): ... + +[case testImportedModuleHardExits4_import] +# flags: -p p +# modules: p p/a + +[file p/__init__.py] +def ff(): pass + +[file p/a.py] +import os +def gg(): pass +os._exit(1) # Kill process + +[out] +# p/__init__.pyi +def ff(): ... +# p/a.pyi +def gg(): ... + +[case testExportInternalImportsByDefault] +# modules: p p/a + +[file p/__init__.py] +from p.a import A, f +from m import C + +a: A +c: C +f() + +[file p/a.py] +class A: pass +def f(): pass + +[file m.py] +class C: pass + +[out] +# p/__init__.pyi +from m import C +from p.a import A as A, f as f + +a: A +c: C +# p/a.pyi +class A: ... + +def f(): ... + +[case testNoExportOfInternalImportsIfAll_import] +# modules: p p/a + +[file p/__init__.py] +from p.a import A + +__all__ = ['a'] + +a = None # type: A +b = 0 # type: int + +[file p/a.py] +class A: pass + +[out] +# p/__init__.pyi +from p.a import A + +a: A +# p/a.pyi +class A: ... + +[case testExportInternalImportsByDefaultFromUnderscorePackage] +# modules: p + +[file p.py] +from _p import A +from _m import B +from _pm import C + +a: A +b: B +c: C + +[file _p.py] +class A: pass + +[file _m.py] +class B: pass + +[file _pm.py] +class C: pass + +[out] +from _m import B +from _p import A as A +from _pm import C + +a: A +b: B +c: C + +[case testDisableExportOfInternalImports] +# flags: --export-less +# modules: p p/a + +[file p/__init__.py] +from p.a import A, B +from m import C + +a: A +c: C + +[file p/a.py] +class A: pass +class B: pass + +[file m.py] +class C: pass + +[out] +# p/__init__.pyi +from m import C +from p.a import A, B as B + +a: A +c: C +# p/a.pyi +class A: ... +class B: ... + +[case testExportInternalImportsByDefaultUsingRelativeImport] +# modules: p.a + +[file p/__init__.py] + +[file p/a.py] +from .b import f +f() + +[file p/b.py] +def f(): pass + +[out] +from .b import f as f + +[case testExportInternalImportsByDefaultSkipPrivate] +# modules: p.a + +[file p/__init__.py] + +[file p/a.py] +from .b import _f, _g as _g, _i +from p.b import _h +_f() +_h() + +[file p/b.py] +def _f(): pass +def _g(): pass +def _h(): pass +def _i(): pass +x = 0 + +[out] + +[case testExportInternalImportsByDefaultIncludePrivate] +# flags: --include-private +# modules: p.a + +[file p/__init__.py] + +[file p/a.py] +from .b import _f +_f() + +[file p/b.py] +def _f(): pass + +[out] +from .b import _f as _f + +[case testHideDunderModuleAttributes] +from m import ( + __about__, + __author__, + __copyright__, + __email__, + __license__, + __summary__, + __title__, + __uri__, + __version__ +) + +class A: + __uri__ = 0 + +[file m.py] +__about__ = '' +__author__ = '' +__copyright__ = '' +__email__ = '' +__license__ = '' +__summary__ = '' +__title__ = '' +__uri__ = '' +__version__ = '' + +[out] +class A: ... + +[case testHideDunderModuleAttributesWithAll_import] +from m import ( + __about__, + __author__, + __copyright__, + __email__, + __license__, + __summary__, + __title__, + __uri__, + __version__ +) + +__all__ = ['__about__', '__author__', '__version__'] + +[file m.py] +__about__ = '' +__author__ = '' +__copyright__ = '' +__email__ = '' +__license__ = '' +__summary__ = '' +__title__ = '' +__uri__ = '' +__version__ = '' + +[out] + +[case testAttrsClass_semanal] +import attr + +@attr.s +class C: + x = attr.ib() + +[out] +from basedtyping import Untyped + +class C: + x: Untyped + def __init__(self, x): ... + def __lt__(self, other) -> Untyped: ... + def __le__(self, other) -> Untyped: ... + def __gt__(self, other) -> Untyped: ... + def __ge__(self, other) -> Untyped: ... + +[case testNamedTupleInClass] +from collections import namedtuple + +class C: + N = namedtuple('N', ['x', 'y']) +[out] +from basedtyping import Untyped +from typing import NamedTuple + +class C: + class N(NamedTuple): + x: Untyped + y: Untyped + +[case testImports_directImportsWithAlias] +import p.a as a +import p.b as b + +x: a.X +y: b.Y + +[out] +import p.a as a +import p.b as b + +x: a.X +y: b.Y + +[case testImports_directImportsMixed] +import p.a +import p.a as a +import p.b as b + +x: a.X +y: b.Y +z: p.a.X + +[out] +import p.a as a +import p.b as b +import p.a + +x: a.X +y: b.Y +z: p.a.X + +[case testImport_overwrites_directWithAlias_from] +import p.a as a +from p import a + +x: a.X + +[out] +from p import a as a + +x: a.X + +[case testImport_overwrites_directWithAlias_fromWithAlias] +import p.a as a +from p import b as a + +x: a.X + +[out] +from p import b as a + +x: a.X + +[case testImports_overwrites_direct_from] +import a +from p import a + +x: a.X + +[out] +from p import a as a + +x: a.X + +[case testImports_overwrites_direct_fromWithAlias] +import a +from p import b as a + +x: a.X + +[out] +from p import b as a + +x: a.X + +[case testImports_overwrites_from_directWithAlias] +from p import a +import p.a as a + +x: a.X + +[out] +import p.a as a + +x: a.X + +[case testImports_overwrites_fromWithAlias_direct] +import a +from p import b as a + +x: a.X + +[out] +from p import b as a + +x: a.X + +[case testImports_direct] +import p.a +import pp + +x: a.X +y: p.a.Y + +[out] +import p.a + +x: a.X +y: p.a.Y + +[case testOverload_fromTypingImport] +from typing import Tuple, Union, overload + +class A: + @overload + def f(self, x: int, y: int) -> int: + ... + + @overload + def f(self, x: Tuple[int, int]) -> int: + ... + + def f(self, *args: Union[int, Tuple[int, int]]) -> int: + pass + +@overload +def f(x: int, y: int) -> int: + ... + +@overload +def f(x: Tuple[int, int]) -> int: + ... + +def f(*args: Union[int, Tuple[int, int]]) -> int: + pass + + +[out] +from typing import Tuple, overload + +class A: + @overload + def f(self, x: int, y: int) -> int: ... + @overload + def f(self, x: Tuple[int, int]) -> int: ... + + +@overload +def f(x: int, y: int) -> int: ... +@overload +def f(x: Tuple[int, int]) -> int: ... + +[case testOverload_importTyping] +import typing + +class A: + @typing.overload + def f(self, x: int, y: int) -> int: + ... + + @typing.overload + def f(self, x: typing.Tuple[int, int]) -> int: + ... + + def f(self, *args: typing.Union[int, typing.Tuple[int, int]]) -> int: + pass + + @typing.overload + @classmethod + def g(cls, x: int, y: int) -> int: + ... + + @typing.overload + @classmethod + def g(cls, x: typing.Tuple[int, int]) -> int: + ... + + @classmethod + def g(self, *args: typing.Union[int, typing.Tuple[int, int]]) -> int: + pass + +@typing.overload +def f(x: int, y: int) -> int: + ... + +@typing.overload +def f(x: typing.Tuple[int, int]) -> int: + ... + +def f(*args: typing.Union[int, typing.Tuple[int, int]]) -> int: + pass + + +[out] +import typing + +class A: + @typing.overload + def f(self, x: int, y: int) -> int: ... + @typing.overload + def f(self, x: typing.Tuple[int, int]) -> int: ... + @typing.overload + @classmethod + def g(cls, x: int, y: int) -> int: ... + @typing.overload + @classmethod + def g(cls, x: typing.Tuple[int, int]) -> int: ... + + +@typing.overload +def f(x: int, y: int) -> int: ... +@typing.overload +def f(x: typing.Tuple[int, int]) -> int: ... + + +[case testOverload_importTypingAs] +import typing as t + +class A: + @t.overload + def f(self, x: int, y: int) -> int: + ... + + @t.overload + def f(self, x: t.Tuple[int, int]) -> int: + ... + + def f(self, *args: typing.Union[int, t.Tuple[int, int]]) -> int: + pass + + @t.overload + @classmethod + def g(cls, x: int, y: int) -> int: + ... + + @t.overload + @classmethod + def g(cls, x: t.Tuple[int, int]) -> int: + ... + + @classmethod + def g(self, *args: t.Union[int, t.Tuple[int, int]]) -> int: + pass + +@t.overload +def f(x: int, y: int) -> int: + ... + +@t.overload +def f(x: t.Tuple[int, int]) -> int: + ... + +def f(*args: t.Union[int, t.Tuple[int, int]]) -> int: + pass + + +[out] +import typing as t + +class A: + @t.overload + def f(self, x: int, y: int) -> int: ... + @t.overload + def f(self, x: t.Tuple[int, int]) -> int: ... + @t.overload + @classmethod + def g(cls, x: int, y: int) -> int: ... + @t.overload + @classmethod + def g(cls, x: t.Tuple[int, int]) -> int: ... + + +@t.overload +def f(x: int, y: int) -> int: ... +@t.overload +def f(x: t.Tuple[int, int]) -> int: ... + +[case testProtocol_semanal] +from typing import Protocol, TypeVar + +class P(Protocol): + def f(self, x: int, y: int) -> str: + ... + +T = TypeVar('T') +T2 = TypeVar('T2') +class PT(Protocol[T, T2]): + def f(self, x: T) -> T2: + ... + +[out] +from typing import Protocol, TypeVar + +class P(Protocol): + def f(self, x: int, y: int) -> str: ... +T = TypeVar('T') +T2 = TypeVar('T2') + +class PT(Protocol[T, T2]): + def f(self, x: T) -> T2: ... + +[case testNonDefaultKeywordOnlyArgAfterAsterisk] +def func(*, non_default_kwarg: bool, default_kwarg: bool = True): ... +[out] +from basedtyping import Untyped + +def func(*, non_default_kwarg: bool, default_kwarg: bool = ...) -> Untyped: ... + +[case testNestedGenerator] +def f(): + def g(): + yield 0 + + return 0 +[out] +from basedtyping import Untyped + +def f() -> Untyped: ... diff --git a/tox.ini b/tox.ini index 7cee9a11f..ea5802287 100644 --- a/tox.ini +++ b/tox.ini @@ -52,8 +52,11 @@ commands = flake8 {posargs} [testenv:type] description = type check ourselves commands = - python -m mypy --config-file mypy_self_check.ini -p mypy -p mypyc - python -m mypy --config-file mypy_self_check.ini misc/proper_plugin.py + # Do a legacy compatible check, this is needed because generating a baseline from the head of upstream + # sound very laborious + python -m mypy --config-file mypy_self_check.ini --baseline-file= -p mypy -p mypyc + python -m mypy --config-file mypy_self_check_strict.ini -p mypy -p mypyc + python -m mypy --config-file mypy_self_check.ini --legacy misc/proper_plugin.py [testenv:docs] description = invoke sphinx-build to build the HTML docs