.. versionadded:: 3.10
+
+Type annotations
+^^^^^^^^^^^^^^^^
+
+.. class:: TypeIgnore(lineno, tag)
+
+ A ``# type: ignore`` comment located at *lineno*.
+ *tag* is the optional tag specified by the form ``# type: ignore <tag>``.
+
+ .. doctest::
+
+ >>> print(ast.dump(ast.parse('x = 1 # type: ignore', type_comments=True), indent=4))
+ Module(
+ body=[
+ Assign(
+ targets=[
+ Name(id='x', ctx=Store())],
+ value=Constant(value=1))],
+ type_ignores=[
+ TypeIgnore(lineno=1, tag='')])
+ >>> print(ast.dump(ast.parse('x: bool = 1 # type: ignore[assignment]', type_comments=True), indent=4))
+ Module(
+ body=[
+ AnnAssign(
+ target=Name(id='x', ctx=Store()),
+ annotation=Name(id='bool', ctx=Load()),
+ value=Constant(value=1),
+ simple=1)],
+ type_ignores=[
+ TypeIgnore(lineno=1, tag='[assignment]')])
+
+ .. note::
+ :class:`!TypeIgnore` nodes are not generated when the *type_comments* parameter
+ is set to ``False`` (default). See :func:`ast.parse` for more details.
+
+ .. versionadded:: 3.8
+
.. _ast-type-params:
Type parameters