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
class Example:
[(j := i) for i in range(5)] # INVALID SYNTAX
Expected behaviour: error: invalid syntax (as is generated by e.g. j :=1 without parentheses around it).
Actual behaviour:
(env) PS C:\Users\deanna\src\mypy> python -m mypy .\walrus_fail_demo.py --no-incremental --show-traceback
.\walrus_fail_demo.py:48: 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.790+dev.8219564d365ba29dda8c4383594d9db91f26feec
Traceback (most recent call last):
File "C:\Python38\lib\runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Python38\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\deanna\src\mypy\mypy\__main__.py", line 12, in <module>
main(None, sys.stdout, sys.stderr)
File "C:\Users\deanna\src\mypy\mypy\main.py", line 89, in main
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
File "C:\Users\deanna\src\mypy\mypy\build.py", line 180, in build
result = _build(
File "C:\Users\deanna\src\mypy\mypy\build.py", line 252, in _build
graph = dispatch(sources, manager, stdout)
File "C:\Users\deanna\src\mypy\mypy\build.py", line 2626, in dispatch
process_graph(graph, manager)
File "C:\Users\deanna\src\mypy\mypy\build.py", line 2949, in process_graph
process_stale_scc(graph, scc, manager)
File "C:\Users\deanna\src\mypy\mypy\build.py", line 3041, in process_stale_scc
mypy.semanal_main.semantic_analysis_for_scc(graph, scc, manager.errors)
File "C:\Users\deanna\src\mypy\mypy\semanal_main.py", line 78, in semantic_analysis_for_scc
process_top_levels(graph, scc, patches)
File "C:\Users\deanna\src\mypy\mypy\semanal_main.py", line 199, in process_top_levels
deferred, incomplete, progress = semantic_analyze_target(next_id, state,
File "C:\Users\deanna\src\mypy\mypy\semanal_main.py", line 326, in semantic_analyze_target
analyzer.refresh_partial(refresh_node,
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 357, in refresh_partial
self.refresh_top_level(node)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 368, in refresh_top_level
self.accept(d)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 4691, in accept
node.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 940, in accept
return visitor.visit_class_def(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 1011, in visit_class_def
self.analyze_class(defn)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 1088, in analyze_class
self.analyze_class_body_common(defn)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 1096, in analyze_class_body_common
defn.defs.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 1005, in accept
return visitor.visit_block(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 3170, in visit_block
self.accept(s)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 4691, in accept
node.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 1020, in accept
return visitor.visit_expression_stmt(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 3179, in visit_expression_stmt
s.expr.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 1946, in accept
return visitor.visit_list_comprehension(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 3755, in visit_list_comprehension
expr.generator.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 1933, in accept
return visitor.visit_generator_expr(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 3771, in visit_generator_expr
expr.left_expr.accept(self)
File "C:\Users\deanna\src\mypy\mypy\nodes.py", line 1619, in accept
return visitor.visit_assignment_expr(self)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 1896, in visit_assignment_expr
self.analyze_lvalue(s.target, escape_comprehensions=True)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 2565, in analyze_lvalue
self.analyze_name_lvalue(lval, explicit_type, is_final, escape_comprehensions)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 2616, in analyze_name_lvalue
added = self.add_symbol(name, var, lvalue, escape_comprehensions=escape_comprehensions)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 4217, in add_symbol
return self.add_symbol_table_node(name, symbol, context, can_defer, escape_comprehensions)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 4265, in add_symbol_table_node
names = self.current_symbol_table(escape_comprehensions=escape_comprehensions)
File "C:\Users\deanna\src\mypy\mypy\semanal.py", line 4553, in current_symbol_table
assert names is not None
AssertionError:
.\walrus_fail_demo.py:48: : note: use --pdb to drop into pdb
( This assertion error has been proposed to something more specific in #9062 )
The text was updated successfully, but these errors were encountered:
test.py:2: error: Assignment expression within a comprehension cannot be used in a class body [syntax]
Found 1 error in 1 file (errors prevented further checking)
Uh oh!
There was an error while loading. Please reload this page.
The following invalid syntax including the walrus / assignment expression / named expression operator (taken from https://www.python.org/dev/peps/pep-0572/#scope-of-the-target) does not raise a syntax error.
Expected behaviour:
error: invalid syntax
(as is generated by e.g.j :=1
without parentheses around it).Actual behaviour:
( This assertion error has been proposed to something more specific in #9062 )
The text was updated successfully, but these errors were encountered: