summaryrefslogtreecommitdiffstats
path: root/Lib/ast.py
diff options
context:
space:
mode:
authorRaymond Hettinger <rhettinger@users.noreply.github.com>2020-01-03 05:21:18 (GMT)
committerGitHub <noreply@github.com>2020-01-03 05:21:18 (GMT)
commit4fcf5c12a37a8d3d8d6303c44c223dbc8d568cfd (patch)
tree5260051ef84fd7137a5ff12d90d4906cca9f5a32 /Lib/ast.py
parent32f1443aa98db769d87db497b45bd0dcb732445b (diff)
downloadcpython-4fcf5c12a37a8d3d8d6303c44c223dbc8d568cfd.zip
cpython-4fcf5c12a37a8d3d8d6303c44c223dbc8d568cfd.tar.gz
cpython-4fcf5c12a37a8d3d8d6303c44c223dbc8d568cfd.tar.bz2
bpo-39158: ast.literal_eval() doesn't support empty sets (GH-17742)
Diffstat (limited to 'Lib/ast.py')
-rw-r--r--Lib/ast.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/ast.py b/Lib/ast.py
index ece8b13..495c0d6 100644
--- a/Lib/ast.py
+++ b/Lib/ast.py
@@ -83,6 +83,9 @@ def literal_eval(node_or_string):
return list(map(_convert, node.elts))
elif isinstance(node, Set):
return set(map(_convert, node.elts))
+ elif (isinstance(node, Call) and isinstance(node.func, Name) and
+ node.func.id == 'set' and node.args == node.keywords == []):
+ return set()
elif isinstance(node, Dict):
return dict(zip(map(_convert, node.keys),
map(_convert, node.values)))