Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Bug report
Bug description:
In 3.13 we changedast.dump() to not show empty values (None or the empty list) by default. However, this is based purely on the value of individual attributes:
>>> ast.dump(ast.Name(id="x"))"Name(id='x', ctx=Load())">>> ast.dump(ast.Name(id=None))'Name(ctx=Load())'>>> ast.dump(ast.Name(id=[]))'Name(ctx=Load())'Instead, this logic should look at the node's_field_types and use the same logic we use to determine whether to allow omitting the argument in calls to the constructor: elide None if the type is a union including None, elide[] if the type is a list, and elideLoad() if the type is an expr_context.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response