From fa4096b3089b89d2d4d44ed841f57fc41609c3f8 Mon Sep 17 00:00:00 2001 From: Parman Mohammadalizadeh Date: Tue, 24 Mar 2026 00:51:31 +0000 Subject: [PATCH] [3.13] gh-140196: Added constructor behavior changes in ast.rst for python 3.13 (GH-140243) (cherry picked from commit fae5761a762a587b48430cbcd6e1886034ae8130) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Parman Mohammadalizadeh Co-authored-by: Ɓukasz Langa --- Doc/library/ast.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index ec6a4a82d6fd7f..42728b1394a372 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -134,6 +134,14 @@ Node classes Simple indices are represented by their value, extended slices are represented as tuples. +.. versionchanged:: 3.13 + + AST node constructors were changed to provide sensible defaults for omitted + fields: optional fields now default to ``None``, list fields default to an + empty list, and fields of type :class:`!ast.expr_context` default to + :class:`Load() `. Previously, omitted attributes would not exist on constructed + nodes (accessing them raised :exc:`AttributeError`). + .. deprecated:: 3.8 Old classes :class:`!ast.Num`, :class:`!ast.Str`, :class:`!ast.Bytes`,