-
-
Notifications
You must be signed in to change notification settings - Fork 518
Labels
bugSomething isn't workingSomething isn't working
Description
What's wrong
Under certain circumstances, a project with a typing error will produce correct mypy errors and hints when .mypy_cache is not present but a stack trace if it is.
Here is a simplified reproduction repo demonstrating this behaviour: https://github.com/danifus/djstubs-reproduce2
- pip install
djangoanddjango-stubs cdto directory containingmypy.ini- run
mypy . --tb - run
mypy . --tb
The first mypy . --tb produces:
second_app/models.py:10: error: Incompatible types in assignment (expression has type "str", variable has type "int")
Found 1 error in 1 file (checked 28 source files)
The second run produces:
./test_app/models.py:6: error: INTERNAL ERROR -- Please try using mypy master on Github:
https://mypy.rtfd.io/en/latest/common_issues.html#using-a-development-mypy-build
Please report a bug at https://github.com/python/mypy/issues
version: 0.770
Traceback (most recent call last):
File "mypy/semanal.py", line 4679, in accept
File "mypy/nodes.py", line 939, in accept
File "mypy/semanal.py", line 1001, in visit_class_def
File "mypy/semanal.py", line 1078, in analyze_class
File "mypy/semanal.py", line 1087, in analyze_class_body_common
File "mypy/semanal.py", line 1147, in apply_class_plugin_hooks
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/main.py", line 37, in transform_model_class
process_model_class(ctx, django_context)
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/transformers/models.py", line 357, in process_model_class
initializer_cls(ctx, django_context).run()
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/transformers/models.py", line 71, in run
self.run_with_model_cls(model_cls)
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/transformers/models.py", line 231, in run_with_model_cls
base_manager_info=manager_info)
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/transformers/models.py", line 186, in create_new_model_parametrized_manager
method_node=sym.node)
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/lib/helpers.py", line 329, in copy_method_to_another_class
arguments, return_type = build_unannotated_method_args(method_node)
File "<venv>/mypytest/lib/python3.7/site-packages/mypy_django_plugin/lib/helpers.py", line 314, in build_unannotated_method_args
for argument in method_node.arguments[1:]:
AttributeError: attribute 'arguments' of 'FuncItem' undefined
./test_app/models.py:6: : note: use --pdb to drop into pdb
This behaviour occurs if the error is in either test_app/models.py or second_app/models.py (it currently is only in second_app/models.py).
How is that should be
Every run should produce the same (initial) output
System information
- OS: mac
pythonversion: 3.7djangoversion: 3.0.8mypyversion: 0.770django-stubsversion: 1.5
sobolevn and kszmigiel
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working