]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-133033: Add docs for `TypeIgnore` (GH-133034) (#133078)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 28 Apr 2025 10:55:19 +0000 (12:55 +0200)
committerGitHub <noreply@github.com>
Mon, 28 Apr 2025 10:55:19 +0000 (10:55 +0000)
gh-133033: Add docs for `TypeIgnore` (GH-133034)
(cherry picked from commit 4e04511cb9c176c32d6f3694f426750d710121cd)

Co-authored-by: Yuki Kobayashi <drsuaimqjgar@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Doc/library/ast.rst

index 570ba7989c11cde5155b01a5844f5a5f9a673be3..55389f53478870b7a4cec440a95f122c0f2c96ec 100644 (file)
@@ -1756,6 +1756,43 @@ Pattern matching
 
    .. 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