>>> import sys
>>> print(sys.version)
3.11.0 (main, Oct 24 2022, 19:56:01) [GCC 7.5.0]
>>> import ast
>>> example="""def t():\n a = 3 # type: ignore"""
>>> tree = ast.parse(example, type_comments=True)
>>> ast.increment_lineno(tree, 10)
<ast.Module object at 0x7fa7505fbe50>
>>> print(tree.body[0].lineno)
11
>>> print(tree.body[0].body[0].lineno)
12
>>> print(tree.type_ignores[0].lineno)
2
Tested using Python 3.11 on an Ubuntu Linux system.
Bug report
As indicated in the title,
ast.increment_lineno()does not seem to increment thelinenoattributes in theModule's list ofTypeIgnoreobjects, with the result that the type ignore list is disconnected from the location attributes in the rest of the AST.Example:
Your environment
Tested using Python 3.11 on an Ubuntu Linux system.