Closed
Description
Crash Report
Ran mypy on my user library - no idea what went wrong.
Traceback
File "/Users/name/.env/myenv/bin/mypy", line 8, in <module>
sys.exit(console_entry())
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/__main__.py", line 11, in console_entry
main(None, sys.stdout, sys.stderr)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/main.py", line 98, in main
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/build.py", line 179, in build
result = _build(
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/build.py", line 253, in _build
graph = dispatch(sources, manager, stdout)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/build.py", line 2688, in dispatch
process_graph(graph, manager)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/build.py", line 3012, in process_graph
process_stale_scc(graph, scc, manager)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/build.py", line 3104, in process_stale_scc
mypy.semanal_main.semantic_analysis_for_scc(graph, scc, manager.errors)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal_main.py", line 79, in semantic_analysis_for_scc
process_functions(graph, scc, patches)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal_main.py", line 233, in process_functions
process_top_level_function(analyzer,
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal_main.py", line 274, in process_top_level_function
deferred, incomplete, progress = semantic_analyze_target(target, state, node, active_type,
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal_main.py", line 326, in semantic_analyze_target
analyzer.refresh_partial(refresh_node,
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal.py", line 397, in refresh_partial
self.accept(node)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal.py", line 4835, in accept
node.accept(self)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/nodes.py", line 687, in accept
return visitor.visit_func_def(self)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal.py", line 573, in visit_func_def
self.analyze_func_def(defn)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal.py", line 605, in analyze_func_def
self.defer(defn)
File "/Users/name/.env/myenv/lib/python3.9/site-packages/mypy/semanal.py", line 4554, in defer
assert not self.final_iteration, 'Must not defer during final iteration'
AssertionError: Must not defer during final iteration
To Reproduce
from dataclasses import dataclass
import dataclasses
from typing import Any, Dict, Generic, List, Type, TypeVar, Union
from abc import ABC, abstractclassmethod
from occupier.utils import EnhancedJSONEncoder
T = TypeVar("T", bound="DictDataClass")
@dataclass(frozen=True)
class DictDataClass(Generic[T]):
urn: int
def to_dict(self) -> Dict[str, Any]:
return dataclasses.asdict(self)
@classmethod
def from_dict(cls: Type[T], dict_: Dict[str, Any]) -> T:
return cls(**dict_)
@classmethod
def field_names(cls) -> List[str]:
return [field.name for field in dataclasses.fields(cls)]
@dataclass(frozen=True)
class JSONDataClass(ABC, DictDataClass):
_JSON_ENCODER = EnhancedJSONEncoder()
def to_json(self) -> str:
return JSONDataClass._JSON_ENCODER.encode(self)
@classmethod
@abstractclassmethod
def from_json(cls: Type[T], json_str: str) -> Union[List[T], T]:
pass
Your Environment
- Mypy version used : 0.820+dev.effd970ad1e8bb09fd2a18634339e1d043a83400
- Mypy command-line flags: None
- Mypy configuration options from
mypy.ini
(and other config files): - Python version used: 3.9.1
- Operating system and version: MacOS 10.15.7