Repository navigation
Add unknown-member-type for accessing attributes of unknown type (#5108) - #5108
Closed
connernilsen wants to merge 1 commit into
Closed
connernilsen wants to merge 1 commit into
connernilsen wants to merge 1 commit into
Conversation
Contributor
|
@connernilsen has exported this pull request. If you are a Meta employee, you can view the originating Diff in D122886716. |
This comment has been minimized.
This comment has been minimized.
connernilsen
force-pushed
the
export-D122886716
branch
from
October 6, 2026 21:54
f68dc2b to
8df8881
Compare
connernilsen
force-pushed
the
export-D122886716
branch
from
October 6, 2026 22:05
8df8881 to
60c44da
Compare
rchen152
approved these changes
Oct 6, 2026
rchen152
left a comment
Contributor
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
This comment has been minimized.
This comment has been minimized.
unknown-member-type for accessing attributes of unknown typeunknown-member-type for accessing attributes of unknown type (#5108)
connernilsen
added a commit
to connernilsen/pyrefly
that referenced
this pull request
Oct 7, 2026
…acebook#5108) Summary: Pyright's `reportUnknownMemberType` reports member accesses whose type is unknown. Pyrefly's migration mapped it to `unknown-attribute-type`, but that kind only fires where an unannotated attribute is declared with an unknown value, so accessing a member of unknown type was never reported. This adds an `unknown-member-type` error kind, reported for every attribute read whose result is an implicit `Any`. Attribute reads all go through `attr_access_infer`, both plain accesses and method callees, so the check lives there; assignment targets are bound elsewhere and are not affected. Like pyright, accesses on a base that is itself unknown are reported too, so `obj.a.b` on an unannotated parameter reports both `a` and `b`. Explicit `Any` is treated as intentional, missing attributes keep reporting `missing-attribute` (they produce an error `Any`), and partially unknown types such as `list[Any]` are left to facebook#5062. It is a separate kind rather than an extension of `unknown-attribute-type` so that the much noisier access-site reports can be enabled independently. Pyright's single rule covers both declarations and accesses, so the migration now maps `reportUnknownMemberType` to both kinds. ## mypy_primer results mypy_primer reports 353,232 new errors across 146 projects, all `unknown-member-type`, and 176 fewer `unused-type-ignore` errors, from existing `# type: ignore` comments that now suppress one of the new errors. The per-preset breakdown is +0/-0 for both `default` and `strict`: only `--preset=all`, which primer uses, enables this kind. The number is high because the kind reports every attribute access whose type is unknown, and the projects are large and mostly unannotated: 40% of the new errors come from five of them (sympy, pandas, ibis, spark and scikit-learn). No single pattern dominates: the errors involve 21,929 distinct attribute names, and the 25 most common cover 17.6% of them. Reporting each level of a chain is a small part of the total: only 11.7% are accesses chained onto another reported access on the same line. Most are the first unknown access on a line, typically on an unannotated parameter or on a value returned by an unannotated function. The new errors match pyright. Running Pyrefly on PyPI installs of sympy, pandas, ibis, pyspark, scikit-learn, twisted, jax and streamlit, checked as projects like primer does, gives the same counts as primer where the package contains the same code (sympy 40,483 versus 40,268, ibis 23,631 versus 23,668, scikit-learn 21,473 versus 21,387). In a random sample of 13,012 of those errors from 300 files, basedpyright reports the same member access for 92.8% of them (85.2% as unknown and 7.6% as partially unknown). Of the other 7.2%, 41% are attributes assigned directly from an unannotated `__init__` parameter, which pyright does not report although their type is unknown. The rest are cases where pyright infers a more precise type than Pyrefly, mostly through its call-site return type inference for unannotated functions. The test suites of spark and streamlit, which account for some of primer's errors in those projects, are not included in their PyPI packages and were not sampled. Projects that import pandas, scikit-learn, sympy, scikit-image, vispy, conans, boto3 or botocore can see more of these errors, because Pyrefly resolves those libraries to its bundled stubs, and many declarations in some of those stubs are unannotated. That is a property of the bundled stubs, not of this check. Fixes facebook#5061 Reviewed By: rchen152 Differential Revision: D122886716
connernilsen
force-pushed
the
export-D122886716
branch
from
October 7, 2026 16:23
60c44da to
91070b6
Compare
…acebook#5108) Summary: Pull Request resolved: facebook#5108 Pyright's `reportUnknownMemberType` reports member accesses whose type is unknown. Pyrefly's migration mapped it to `unknown-attribute-type`, but that kind only fires where an unannotated attribute is declared with an unknown value, so accessing a member of unknown type was never reported. This adds an `unknown-member-type` error kind, reported for every attribute read whose result is an implicit `Any`. Attribute reads all go through `attr_access_infer`, both plain accesses and method callees, so the check lives there; assignment targets are bound elsewhere and are not affected. Like pyright, accesses on a base that is itself unknown are reported too, so `obj.a.b` on an unannotated parameter reports both `a` and `b`. Explicit `Any` is treated as intentional, missing attributes keep reporting `missing-attribute` (they produce an error `Any`), and partially unknown types such as `list[Any]` are left to facebook#5062. It is a separate kind rather than an extension of `unknown-attribute-type` so that the much noisier access-site reports can be enabled independently. Pyright's single rule covers both declarations and accesses, so the migration now maps `reportUnknownMemberType` to both kinds. ## mypy_primer results mypy_primer reports 353,232 new errors across 146 projects, all `unknown-member-type`, and 176 fewer `unused-type-ignore` errors, from existing `# type: ignore` comments that now suppress one of the new errors. The per-preset breakdown is +0/-0 for both `default` and `strict`: only `--preset=all`, which primer uses, enables this kind. The number is high because the kind reports every attribute access whose type is unknown, and the projects are large and mostly unannotated: 40% of the new errors come from five of them (sympy, pandas, ibis, spark and scikit-learn). No single pattern dominates: the errors involve 21,929 distinct attribute names, and the 25 most common cover 17.6% of them. Reporting each level of a chain is a small part of the total: only 11.7% are accesses chained onto another reported access on the same line. Most are the first unknown access on a line, typically on an unannotated parameter or on a value returned by an unannotated function. The new errors match pyright. Running Pyrefly on PyPI installs of sympy, pandas, ibis, pyspark, scikit-learn, twisted, jax and streamlit, checked as projects like primer does, gives the same counts as primer where the package contains the same code (sympy 40,483 versus 40,268, ibis 23,631 versus 23,668, scikit-learn 21,473 versus 21,387). In a random sample of 13,012 of those errors from 300 files, basedpyright reports the same member access for 92.8% of them (85.2% as unknown and 7.6% as partially unknown). Of the other 7.2%, 41% are attributes assigned directly from an unannotated `__init__` parameter, which pyright does not report although their type is unknown. The rest are cases where pyright infers a more precise type than Pyrefly, mostly through its call-site return type inference for unannotated functions. The test suites of spark and streamlit, which account for some of primer's errors in those projects, are not included in their PyPI packages and were not sampled. Projects that import pandas, scikit-learn, sympy, scikit-image, vispy, conans, boto3 or botocore can see more of these errors, because Pyrefly resolves those libraries to its bundled stubs, and many declarations in some of those stubs are unannotated. That is a property of the bundled stubs, not of this check. Fixes facebook#5061 Reviewed By: rchen152 Differential Revision: D122886716
connernilsen
force-pushed
the
export-D122886716
branch
from
October 7, 2026 16:28
91070b6 to
6a5ad37
Compare
|
Diff from mypy_primer, showing the effect of this PR on open source code: ============================================================
SUMMARY
============================================================
Total: +278159 new errors, -125 fixed errors
By preset: +0/-0 (default), +0/-0 (strict)
Projects with changes (140):
pip: +1063 -2
python-sop: +22 -0
downforeveryone: +21 -0
tornado: +670 -5
mkdocs: +418 -0
black: +8 -0
aioredis: +113 -0
cloud-init: +10975 -0
openlibrary: +4672 -0
egglog-python: +994 -0
imagehash: +56 -0
packaging: +23 -0
mkosi: +1 -0
ppb-vector: +46 -0
cki-lib: +110 -0
dulwich: +118 -1
mitmproxy: +6893 -6
steam.py: +164 -6
rotki: +5191 -3
aiohttp-devtools: +192 -0
bokeh: +190 -0
pegen: +1 -0
flake8: +376 -0
pytest: +2065 -0
pyjwt: +1 -0
jax: +17980 -2
spark: +23565 -13
scipy-stubs: +60 -0
cwltool: +82 -0
prefect: +6262 -1
pyppeteer: +117 -0
cryptography: +2016 -0
httpx-caching: +117 -0
pyochain: +24 -0
altair: +205 -0
alerta: +1835 -0
scipy: +244 -2
colour: +345 -0
urllib3: +845 -0
pybind11: +10 -0
twine: +11 -0
aiortc: +42 -0
pyinstrument: +46 -0
scikit-learn: +21372 -0
Expression: +2 -0
freqtrade: +716 -0
materialize: +1148 -0
more-itertools: +122 -0
zipp: +19 -0
pwndbg: +430 -0
setuptools: +2871 -1
comtypes: +490 -0
scikit-build-core: +679 -0
apprise: +5701 -0
pycryptodome: +956 -0
yarl: +42 -0
pyproject-metadata: +2 -0
psycopg: +10115 -1
manticore: +18131 -2
starlette: +1496 -8
mongo-python-driver: +262 -2
operator: +4 -0
schemathesis: +1060 -0
PyWinCtl: +33 -0
beartype: +32 -1
asynq: +207 -0
cibuildwheel: +11 -0
streamlit: +13675 -2
stone: +3755 -0
hydra-zen: +9 -1
pandera: +3647 -16
pytest-autoprofile: +66 -0
antidote: +2 -0
ibis: +23768 -0
aiohttp: +46 -0
build: +8 -0
vision: +923 -3
strawberry: +54 -3
sockeye: +616 -1
zulip: +629 -3
anyio: +12 -0
Tanjun: +9 -0
pandas-stubs: +29 -0
zope.interface: +935 -0
bandersnatch: +87 -0
ignite: +88 -2
dragonchain: +976 -0
hydpy: +45 -0
static-frame: +612 -0
pandas: +33915 -5
pywin32: +172 -0
websockets: +13 -0
dd-trace-py: +5055 -12
python-htmlgen: +105 -0
meson: +251 -0
mypy: +15 -0
werkzeug: +178 -0
rclip: +142 -0
pytest-robotframework: +166 -0
numpy-stl: +2 -0
pyodide: +1704 -1
speedrun.com_global_scoreboard_webapp: +41 -0
core: +10557 -2
paroxython: +22 -0
paasta: +1224 -1
jinja: +6 -0
pyp: +7 -0
xarray: +4165 -6
trio: +41 -0
sphinx: +65 -2
rich: +12 -0
dedupe: +45 -0
docstring-adder: +1 -0
typeshed-stats: +4 -0
parso: +1006 -0
kornia: +867 -3
nox: +61 -0
poetry: +1753 -0
mypy_primer: +1 -0
spack: +8215 -0
pydantic: +97 -0
discord.py: +164 -0
porcupine: +3 -0
arviz: +23 -0
dacite: +20 -1
check-jsonschema: +3 -0
pylint: +167 -0
scrapy: +1286 -4
PyGithub: +530 -0
optuna: +532 -0
artigraph: +35 -1
attrs: +206 -0
isort: +1 -0
pylox: +541 -0
kopf: +12 -0
koda-validate: +43 -0
graphql-core: +567 -0
archinstall: +11 -0
django-modern-rest: +2 -0
schema_salad: +24 -0
============================================================
FULL DIFF DETAILS
------------------------------------------------------------
pip (https://github.com/pypa/pip)
+ ERROR src/pip/_internal/build_env/venv.py:99:36-53: The type of attribute `python_executable` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/build_env/venv.py:102:61-78: The type of attribute `python_executable` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/cli/autocompletion.py:91:52-62: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/cli/main_parser.py:44:64-71: The type of attribute `summary` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:73:30-41: The type of attribute `yield_lines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:86:44-56: The type of attribute `Distribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:96:67-72: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:96:73-79: The type of attribute `extras` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:107:34-46: The type of attribute `PathMetadata` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:111:38-50: The type of attribute `Distribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:115:38-58: The type of attribute `DistInfoDistribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:131:30-50: The type of attribute `DistInfoDistribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:152:30-50: The type of attribute `DistInfoDistribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:161:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:161:27-35: The type of attribute `location` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:176:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:176:27-35: The type of attribute `egg_info` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:184:30-35: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:184:36-45: The type of attribute `_provider` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:184:46-50: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:190:39-44: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:190:45-57: The type of attribute `project_name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:194:35-40: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:194:41-48: The type of attribute `version` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:198:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:198:27-34: The type of attribute `version` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:201:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:201:27-39: The type of attribute `has_metadata` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:204:25-30: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:204:31-47: The type of attribute `metadata_listdir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:208:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:208:27-39: The type of attribute `has_metadata` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:210:24-29: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:210:30-42: The type of attribute `get_metadata` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:217:30-35: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:217:36-49: The type of attribute `get_entry_map` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:222:41-46: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:223:46-51: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:232:28-33: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:232:49-69: The type of attribute `DistInfoDistribution` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:255:21-26: The type of attribute `_dist` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:255:27-35: The type of attribute `requires` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:262:42-52: The type of attribute `WorkingSet` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:267:34-45: The type of attribute `working_set` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:271:34-44: The type of attribute `WorkingSet` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:274:26-29: The type of attribute `_ws` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:306:18-21: The type of attribute `_ws` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:306:22-29: The type of attribute `require` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/metadata/pkg_resources.py:307:30-50: The type of attribute `DistributionNotFound` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/network/auth.py:222:62-67: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/operations/install/wheel.py:408:14-20: The type of attribute `suffix` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/operations/install/wheel.py:414:44-48: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/operations/install/wheel.py:418:54-58: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/operations/install/wheel.py:437:59-69: The type of attribute `target_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/utils/_jaraco_text.py:37:28-38: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/utils/_jaraco_text.py:61:50-60: The type of attribute `splitlines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/utils/_jaraco_text.py:76:17-26: The type of attribute `partition` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/utils/_jaraco_text.py:104:20-28: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_internal/utils/_jaraco_text.py:106:34-39: The type of attribute `strip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:101:20-25: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:104:30-35: The type of attribute `count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:114:23-28: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:114:43-48: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:123:23-33: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:123:54-64: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:131:45-52: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:153:20-23: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:162:29-32: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:273:39-47: The type of attribute `__dict__` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:365:29-34: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:365:37-44: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:366:34-44: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:369:16-26: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:391:33-41: The type of attribute `__self__` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:391:42-46: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:409:36-42: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:442:18-28: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:569:48-52: The type of attribute `copy` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:594:37-44: The type of attribute `popitem` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:601:37-40: The type of attribute `pop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:607:26-31: The type of attribute `clear` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:615:21-29: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:791:34-38: The type of attribute `keys` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:937:23-35: The type of attribute `configurator` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:937:36-43: The type of attribute `convert` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:1007:22-27: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:1008:25-28: The type of attribute `pop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:1091:24-27: The type of attribute `pop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:1094:28-31: The type of attribute `pop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/compat.py:1099:42-47: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:52:33-39: The type of attribute `finder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:52:40-54: The type of attribute `get_cache_info` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:56:40-44: The type of attribute `base` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:67:38-43: The type of attribute `bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:93:21-27: The type of attribute `finder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:93:28-38: The type of attribute `get_stream` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:104:21-27: The type of attribute `finder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:104:28-37: The type of attribute `get_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:108:21-27: The type of attribute `finder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:108:28-36: The type of attribute `get_size` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:116:21-27: The type of attribute `finder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:116:28-41: The type of attribute `get_resources` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:141:21-29: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:143:21-31: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:152:31-36: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:153:15-21: The type of attribute `insert` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:169:31-35: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:184:30-34: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:187:28-32: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:191:41-45: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:196:50-58: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:198:52-56: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:201:44-48: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:212:29-41: The type of attribute `is_container` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:213:38-42: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:214:42-51: The type of attribute `resources` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:220:34-46: The type of attribute `is_container` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:237:39-45: The type of attribute `_files` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:265:25-29: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:269:46-50: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:275:25-29: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/resources.py:279:25-29: The type of attribute `path` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:79:23-33: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:80:43-48: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:81:55-65: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:84:31-41: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:117:20-23: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:119:21-28: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:188:31-41: The type of attribute `executable` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:237:21-27: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:245:25-31: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:253:26-32: The type of attribute `prefix` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:253:52-58: The type of attribute `suffix` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:253:59-64: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:253:85-91: The type of attribute `suffix` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:282:57-67: The type of attribute `target_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:283:50-60: The type of attribute `target_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:287:22-32: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:308:48-56: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:316:23-29: The type of attribute `append` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:333:28-31: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:336:36-42: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:338:47-53: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:339:55-59: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:340:32-35: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:348:36-46: The type of attribute `source_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:349:37-47: The type of attribute `target_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:360:25-32: The type of attribute `dry_run` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:380:23-29: The type of attribute `append` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/scripts.py:382:72-82: The type of attribute `target_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/pip/_vendor/distlib/util.py:97:39-45: The type of attribute `lstrip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
... (truncated 914 lines) ...
python-sop (https://gitlab.com/dkg/python-sop)
+ ERROR sop/__init__.py:242:23-35: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:255:15-27: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:259:15-27: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:264:17-29: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:267:17-29: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:270:17-29: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:272:17-29: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:278:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:282:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:285:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:287:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:293:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:295:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:298:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:301:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:303:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:306:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:309:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:312:18-30: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:317:16-28: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:320:16-28: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR sop/__init__.py:322:16-28: The type of attribute `set_defaults` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
downforeveryone (https://github.com/rpdelaney/downforeveryone)
+ ERROR tests/test_cli/test_cli.py:8:19-24: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:13:19-42: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:21:39-51: The type of attribute `return_value` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:21:52-64: The type of attribute `add_argument` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:23:23-38: The type of attribute `assert_any_call` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:24:23-38: The type of attribute `assert_any_call` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_cli/test_cli.py:28:30-40: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/conftest.py:25:19-24: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/conftest.py:30:19-24: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/conftest.py:35:19-24: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/conftest.py:40:19-24: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_is_it_up.py:18:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_is_it_up.py:31:49-61: The type of attribute `return_value` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:9:19-42: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:17:19-42: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:25:19-42: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:32:29-34: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:36:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_isup/test_main.py:60:23-33: The type of attribute `readouterr` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_useragents/test_useragents.py:13:28-33: The type of attribute `patch` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tests/test_useragents/test_useragents.py:16:19-42: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
tornado (https://github.com/tornadoweb/tornado)
- ERROR tornado/concurrent.py:168:66-80: Unused `# type: ignore` comment [unused-type-ignore]
+ ERROR tornado/escape.py:375:37-42: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/escape.py:385:36-41: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/escape.py:385:50-55: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/escape.py:392:27-32: The type of attribute `rfind` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/http1connection.py:578:29-44: The type of attribute `_write_callback` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/httputil.py:610:25-37: The type of attribute `_finish_time` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
- ERROR tornado/iostream.py:59:31-45: Unused `# type: ignore` comment [unused-type-ignore]
+ ERROR tornado/platform/asyncio.py:98:35-52: The type of attribute `ProactorEventLoop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/process.py:344:17-24: The type of attribute `io_loop` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/process.py:344:25-37: The type of attribute `add_callback` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/process.py:344:46-61: The type of attribute `_set_returncode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:28:38-45: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:64:46-53: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:65:42-49: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:66:45-52: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:136:42-49: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:145:42-49: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:146:45-52: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:147:40-47: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:179:46-53: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:180:45-52: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:181:42-49: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:182:45-52: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:183:39-46: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:262:67-77: The type of attribute `capitalize` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:553:41-48: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:554:42-49: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:555:45-52: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:562:61-80: The type of attribute `_OAUTH_REDIRECT_URI` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:564:22-26: The type of attribute `test` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:564:27-34: The type of attribute `get_url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/auth_test.py:572:35-54: The type of attribute `_OAUTH_REDIRECT_URI` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/autoreload_test.py:63:36-41: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/circlerefs_test.py:128:37-41: The type of attribute `name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:107:29-39: The type of attribute `read_until` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:109:25-30: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:110:20-25: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:113:20-25: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:113:47-52: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:114:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:142:49-53: The type of attribute `port` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:218:26-27: The type of attribute `f` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:232:26-27: The type of attribute `f` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/concurrent_test.py:248:30-31: The type of attribute `f` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/curl_httpclient_test.py:165:51-59: The type of attribute `username` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/curl_httpclient_test.py:167:35-43: The type of attribute `username` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/curl_httpclient_test.py:167:59-67: The type of attribute `password` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:997:24-34: The type of attribute `set_result` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:999:24-37: The type of attribute `set_exception` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:1001:24-34: The type of attribute `set_result` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:1002:24-34: The type of attribute `set_result` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:1148:28-34: The type of attribute `append` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/gen_test.py:1151:24-30: The type of attribute `append` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/http1connection_test.py:84:40-44: The type of attribute `code` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:693:28-38: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:696:30-40: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:699:36-41: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:700:27-32: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:700:40-45: The type of attribute `strip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:726:21-31: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:742:39-43: The type of attribute `body` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:816:35-39: The type of attribute `body` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:830:35-39: The type of attribute `body` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:846:35-39: The type of attribute `code` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:856:35-42: The type of attribute `request` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:856:43-46: The type of attribute `url` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:857:45-52: The type of attribute `request` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:859:36-40: The type of attribute `body` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpclient_test.py:866:35-39: The type of attribute `code` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:70:21-31: The type of attribute `start_line` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:70:42-49: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:275:30-40: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:278:36-46: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:280:60-66: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:343:26-32: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:657:26-36: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:825:53-59: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:900:28-41: The type of attribute `cleanup_event` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:900:42-46: The type of attribute `wait` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:945:36-46: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:947:50-56: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:953:54-61: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:978:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:990:45-52: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:999:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1002:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1011:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1014:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1067:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1070:31-38: The type of attribute `headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1191:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1191:29-42: The type of attribute `write_headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1195:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1195:29-34: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1196:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1196:29-35: The type of attribute `finish` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1273:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1273:29-42: The type of attribute `write_headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1277:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1277:29-34: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1278:18-28: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1278:29-35: The type of attribute `finish` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1353:16-34: The type of attribute `set_close_callback` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1360:16-34: The type of attribute `set_close_callback` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1364:20-25: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1365:26-36: The type of attribute `read_until` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1366:33-43: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1511:34-41: The type of attribute `version` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1511:42-52: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1512:25-30: The type of attribute `http1` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1515:25-35: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1515:36-49: The type of attribute `write_headers` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1518:25-35: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1518:36-42: The type of attribute `finish` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1521:21-31: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1521:32-37: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1524:21-31: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1524:32-37: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1525:21-31: The type of attribute `connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1525:32-38: The type of attribute `finish` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/httpserver_test.py:1531:21-26: The type of attribute `http1` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:262:29-36: The type of attribute `sockobj` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:262:37-43: The type of attribute `fileno` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:266:22-29: The type of attribute `sockobj` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:266:30-35: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:394:34-38: The type of attribute `recv` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:506:24-27: The type of attribute `set` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:507:25-29: The type of attribute `wait` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:528:24-27: The type of attribute `set` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:529:25-29: The type of attribute `wait` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/ioloop_test.py:645:16-28: The type of attribute `_update_next` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:110:30-40: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:111:30-38: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:151:30-38: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:166:49-55: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:217:40-44: The type of attribute `test` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:217:45-63: The type of attribute `make_iostream_pair` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:217:71-77: The type of attribute `kwargs` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:218:29-33: The type of attribute `pair` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:221:31-35: The type of attribute `pair` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:222:23-28: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:231:18-23: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:232:12-17: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:233:12-17: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:241:16-21: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:243:37-47: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:244:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:245:37-47: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:248:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:249:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:263:16-21: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:264:29-39: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:266:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:271:29-39: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:274:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:275:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:283:16-21: The type of attribute `write` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:287:29-39: The type of attribute `read_bytes` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR tornado/test/iostream_test.py:288:16-21: The type of attribute `close` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
... (truncated 515 lines) ...
mkdocs (https://github.com/mkdocs/mkdocs)
+ ERROR mkdocs/__main__.py:45:26-34: The type of attribute `__name__` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:80:28-37: The type of attribute `levelname` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:81:19-28: The type of attribute `levelname` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:165:21-34: The type of attribute `ensure_object` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:167:19-25: The type of attribute `logger` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:167:26-34: The type of attribute `setLevel` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:181:21-34: The type of attribute `ensure_object` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:183:19-25: The type of attribute `logger` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:183:26-34: The type of attribute `setLevel` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:197:21-34: The type of attribute `ensure_object` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:206:19-25: The type of attribute `stream` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/__main__.py:206:26-38: The type of attribute `setFormatter` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:46:25-33: The type of attribute `_default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:46:34-38: The type of attribute `copy` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:48:25-33: The type of attribute `_default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:84:17-25: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:84:44-54: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:99:25-30: The type of attribute `_name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:104:46-51: The type of attribute `_name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:106:18-23: The type of attribute `_name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/base.py:179:39-46: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:137:50-57: The type of attribute `_schema` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:179:21-28: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:180:30-37: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:213:38-45: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:215:26-33: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:268:38-45: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:270:26-33: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:344:39-44: The type of attribute `_type` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:345:42-47: The type of attribute `_type` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:346:61-67: The type of attribute `length` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:348:40-45: The type of attribute `_type` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:348:65-71: The type of attribute `length` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:537:26-33: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:539:69-76: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:577:50-56: The type of attribute `netloc` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:577:57-62: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:589:49-54: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:589:63-68: The type of attribute `title` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:617:44-50: The type of attribute `netloc` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:617:51-56: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:647:25-34: The type of attribute `formatter` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:647:35-41: The type of attribute `format` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:677:54-60: The type of attribute `netloc` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:677:61-66: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:685:39-44: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:685:53-58: The type of attribute `title` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:789:32-42: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:789:52-58: The type of attribute `rstrip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:796:34-44: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:796:54-60: The type of attribute `rstrip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:820:35-42: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:821:42-49: The type of attribute `default` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/config/config_options.py:1213:44-49: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/__init__.py:28:31-36: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/__init__.py:29:35-40: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/search_index.py:41:25-27: The type of attribute `id` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/search_index.py:43:56-64: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/search_index.py:159:35-39: The type of attribute `text` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/search_index.py:159:61-63: The type of attribute `id` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/contrib/search/search_index.py:159:88-93: The type of attribute `title` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:151:22-34: The type of attribute `is_directory` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:267:37-43: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:267:55-61: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:269:17-27: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:281:56-59: The type of attribute `get` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:285:25-35: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:288:21-29: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:291:69-75: The type of attribute `lstrip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:307:25-33: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:329:32-38: The type of attribute `rindex` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:350:17-25: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/livereload/__init__.py:352:17-25: The type of attribute `endswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/localization.py:32:21-27: The type of attribute `extend` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/files.py:157:41-46: The type of attribute `lower` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:39:31-44: The type of attribute `_indent_print` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:206:21-31: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:209:35-41: The type of attribute `lstrip` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:234:17-25: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:235:42-50: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:241:17-27: The type of attribute `is_section` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:242:31-39: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/structure/nav.py:244:36-44: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/base.py:105:28-35: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/base.py:105:52-59: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:31:38-46: The type of attribute `docs_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:31:55-63: The type of attribute `site_dir` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:31:72-90: The type of attribute `use_directory_urls` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:40:22-27: The type of attribute `theme` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:40:28-35: The type of attribute `get_env` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:41:13-26: The type of attribute `add_extension` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:42:13-38: The type of attribute `install_null_translations` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:229:25-43: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:230:29-47: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:242:25-43: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:243:29-47: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:244:28-46: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:257:25-42: The type of attribute `assert_not_called` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:258:29-46: The type of attribute `assert_not_called` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:271:25-42: The type of attribute `assert_not_called` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:272:29-47: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:368:19-37: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:420:21-39: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:438:25-42: The type of attribute `assert_not_called` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:455:25-43: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/build_tests.py:491:25-43: The type of attribute `assert_called_once` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:22:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:42:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:43:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:55:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:73:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:93:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:113:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:133:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:151:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:169:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:187:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:205:20-43: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:224:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:225:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:228:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:244:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:245:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:255:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:256:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:268:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:269:43-53: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:270:41-50: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:281:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:282:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:298:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:299:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:315:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:316:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:332:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:333:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:349:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:350:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:364:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:374:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:383:18-41: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:392:41-51: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:393:43-52: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:400:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:401:39-48: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:404:26-49: The type of attribute `assert_called_once_with` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:421:41-51: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:422:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:423:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:434:41-51: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:435:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:436:35-44: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:449:41-51: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:450:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:451:43-53: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:452:41-50: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:466:41-51: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:467:43-52: The type of attribute `call_args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR mkdocs/tests/cli_tests.py:470:37-47: The type of attribute `call_count` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
... (truncated 259 lines) ...
black (https://github.com/psf/black)
+ ERROR src/black/mode.py:333:58-64: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:746:37-42: The type of attribute `value` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:803:61-69: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:804:34-42: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:806:33-39: The type of attribute `update` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:809:42-50: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:811:57-65: The type of attribute `children` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR src/blib2to3/pytree.py:914:29-35: The type of attribute `update` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
aioredis (https://github.com/aio-libs/aioredis)
+ ERROR aioredis/client.py:121:37-42: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:128:26-31: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:129:20-25: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:132:39-44: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:135:31-36: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:138:38-43: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:141:30-35: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:144:31-36: The type of attribute `upper` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:157:24-29: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:157:54-59: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:192:31-36: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:193:29-35: The type of attribute `rsplit` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:197:26-36: The type of attribute `splitlines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:198:30-40: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:199:21-25: The type of attribute `find` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:203:35-40: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:205:39-45: The type of attribute `rsplit` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:224:16-26: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:260:33-38: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:437:37-47: The type of attribute `splitlines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:439:34-39: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:439:62-67: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:487:22-27: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:487:54-64: The type of attribute `splitlines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:491:23-28: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:492:74-79: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:493:17-22: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:508:40-50: The type of attribute `splitlines` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:562:37-42: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:598:19-24: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:600:27-32: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1306:36-42: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1307:29-39: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1309:31-41: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1322:43-49: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1323:36-46: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1325:38-48: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1338:36-42: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1340:29-39: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1342:31-41: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1344:31-41: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1346:31-41: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1350:46-52: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1355:31-37: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1356:28-38: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1356:57-67: The type of attribute `startswith` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1358:45-51: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:1365:31-37: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:2539:28-33: The type of attribute `items` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3898:47-52: The type of attribute `split` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3907:27-34: The type of attribute `replace` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3962:17-24: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3962:25-41: The type of attribute `decode_responses` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3970:22-29: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:3970:30-36: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4013:31-38: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4013:39-45: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4018:31-38: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4018:39-45: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4048:30-40: The type of attribute `disconnect` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4049:32-48: The type of attribute `retry_on_timeout` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4053:30-37: The type of attribute `connect` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4101:23-30: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4101:31-37: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4102:23-30: The type of attribute `encoder` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4102:31-37: The type of attribute `decode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4544:22-28: The type of attribute `insert` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4689:36-42: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/client.py:4718:46-49: The type of attribute `sha` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:745:26-30: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:746:78-82: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:749:36-40: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:750:30-34: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1146:26-30: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1147:79-83: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1150:36-40: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1151:43-47: The type of attribute `args` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1440:21-34: The type of attribute `encoder_class` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1617:30-37: The type of attribute `connect` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1623:37-45: The type of attribute `can_read` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1626:34-44: The type of attribute `disconnect` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1627:34-41: The type of attribute `connect` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/connection.py:1628:37-45: The type of attribute `can_read` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/lock.py:194:29-35: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/lock.py:238:36-42: The type of attribute `encode` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:35:21-36: The type of attribute `connection_pool` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:36:55-67: The type of attribute `service_name` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:37:17-21: The type of attribute `host` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:38:39-43: The type of attribute `host` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:38:56-60: The type of attribute `port` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:45:17-32: The type of attribute `connection_pool` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:45:33-49: The type of attribute `check_connection` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:53:17-32: The type of attribute `connection_pool` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR aioredis/sentinel.py:53:33-42: The type of attribute `is_master` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
... (truncated 13187 lines) ... |
Contributor
|
This pull request has been merged in 755a75e. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Pyright's
reportUnknownMemberTypereports member accesses whose type is unknown. Pyrefly's migration mapped it tounknown-attribute-type, but that kind only fires where an unannotated attribute is declared with an unknown value, so accessing a member of unknown type was never reported.This adds an
unknown-member-typeerror kind, reported for every attribute read whose result is an implicitAny. Attribute reads all go throughattr_access_infer, both plain accesses and method callees, so the check lives there; assignment targets are bound elsewhere and are not affected. Like pyright, accesses on a base that is itself unknown are reported too, soobj.a.bon an unannotated parameter reports bothaandb. ExplicitAnyis treated as intentional, missing attributes keep reportingmissing-attribute(they produce an errorAny), and partially unknown types such aslist[Any]are left to #5062.It is a separate kind rather than an extension of
unknown-attribute-typeso that the much noisier access-site reports can be enabled independently. Pyright's single rule covers both declarations and accesses, so the migration now mapsreportUnknownMemberTypeto both kinds.mypy_primer results
mypy_primer reports 353,232 new errors across 146 projects, all
unknown-member-type, and 176 fewerunused-type-ignoreerrors, from existing# type: ignorecomments that now suppress one of the new errors. The per-preset breakdown is +0/-0 for bothdefaultandstrict: only--preset=all, which primer uses, enables this kind.The number is high because the kind reports every attribute access whose type is unknown, and the projects are large and mostly unannotated: 40% of the new errors come from five of them (sympy, pandas, ibis, spark and scikit-learn). No single pattern dominates: the errors involve 21,929 distinct attribute names, and the 25 most common cover 17.6% of them. Reporting each level of a chain is a small part of the total: only 11.7% are accesses chained onto another reported access on the same line. Most are the first unknown access on a line, typically on an unannotated parameter or on a value returned by an unannotated function.
The new errors match pyright. Running Pyrefly on PyPI installs of sympy, pandas, ibis, pyspark, scikit-learn, twisted, jax and streamlit, checked as projects like primer does, gives the same counts as primer where the package contains the same code (sympy 40,483 versus 40,268, ibis 23,631 versus 23,668, scikit-learn 21,473 versus 21,387). In a random sample of 13,012 of those errors from 300 files, basedpyright reports the same member access for 92.8% of them (85.2% as unknown and 7.6% as partially unknown). Of the other 7.2%, 41% are attributes assigned directly from an unannotated
__init__parameter, which pyright does not report although their type is unknown. The rest are cases where pyright infers a more precise type than Pyrefly, mostly through its call-site return type inference for unannotated functions. The test suites of spark and streamlit, which account for some of primer's errors in those projects, are not included in their PyPI packages and were not sampled.Projects that import pandas, scikit-learn, sympy, scikit-image, vispy, conans, boto3 or botocore can see more of these errors, because Pyrefly resolves those libraries to its bundled stubs, and many declarations in some of those stubs are unannotated. That is a property of the bundled stubs, not of this check.
Fixes #5061
Reviewed By: rchen152
Differential Revision: D122886716