From 6ade0c3b2b51b56e68777658d4373d9b80cbdd54 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 28 Apr 2025 12:55:19 +0200 Subject: [PATCH] [3.13] gh-133033: Add docs for `TypeIgnore` (GH-133034) (#133078) gh-133033: Add docs for `TypeIgnore` (GH-133034) (cherry picked from commit 4e04511cb9c176c32d6f3694f426750d710121cd) Co-authored-by: Yuki Kobayashi Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> --- Doc/library/ast.rst | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index 570ba7989c1..55389f53478 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -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 ``. + + .. 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