You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/Users/jukka/src/mypy/mypy/__main__.py", line 12, in <module>
main(None, sys.stdout, sys.stderr)
File "/Users/jukka/src/mypy/mypy/main.py", line 89, in main
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
File "/Users/jukka/src/mypy/mypy/build.py", line 167, in build
sources, options, alt_lib_path, flush_errors, fscache, stdout, stderr, extra_plugins
File "/Users/jukka/src/mypy/mypy/build.py", line 235, in _build
graph = dispatch(sources, manager, stdout)
File "/Users/jukka/src/mypy/mypy/build.py", line 2620, in dispatch
process_graph(graph, manager)
File "/Users/jukka/src/mypy/mypy/build.py", line 2929, in process_graph
process_stale_scc(graph, scc, manager)
File "/Users/jukka/src/mypy/mypy/build.py", line 3047, in process_stale_scc
graph[id].write_cache()
File "/Users/jukka/src/mypy/mypy/build.py", line 2244, in write_cache
self.manager)
File "/Users/jukka/src/mypy/mypy/build.py", line 1410, in write_cache
data = tree.serialize()
File "/Users/jukka/src/mypy/mypy/nodes.py", line 302, in serialize
'names': self.names.serialize(self._fullname),
File "/Users/jukka/src/mypy/mypy/nodes.py", line 3083, in serialize
data[key] = value.serialize(fullname, key)
File "/Users/jukka/src/mypy/mypy/nodes.py", line 3021, in serialize
data['node'] = self.node.serialize()
File "/Users/jukka/src/mypy/mypy/nodes.py", line 882, in serialize
'type': None if self.type is None else self.type.serialize(),
File "/Users/jukka/src/mypy/mypy/types.py", line 1218, in serialize
'arg_types': [t.serialize() for t in self.arg_types],
File "/Users/jukka/src/mypy/mypy/types.py", line 1218, in <listcomp>
'arg_types': [t.serialize() for t in self.arg_types],
File "/Users/jukka/src/mypy/mypy/types.py", line 885, in serialize
assert not self.id.is_meta_var()
AssertionError
Fixes#8072
The fix is straightforward, just copy the logic from the working case (see last test) to two other code paths. Note that only two first cases I added crash on master, but I also add the last one for completeness because I didn't find a similar existing test case.
Type checking this program causes a crash during serialization of
x
:Here's the traceback:
This is a regression introduced in #8021.
cc @ilevkivskyi
The text was updated successfully, but these errors were encountered: