summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Popa <cpopa@cloudbasesolutions.com>2014-11-28 21:30:45 +0200
committerClaudiu Popa <cpopa@cloudbasesolutions.com>2014-11-28 21:30:45 +0200
commit5e8bbdb6698a8e005c579621611b40a6f486d118 (patch)
tree6294719a657dce6e1e3c87bc0347d30eb7f53af8
parent1d9fcaeb6e1bb530c10307015b2a34c3c218dd30 (diff)
downloadpylint-5e8bbdb6698a8e005c579621611b40a6f486d118.tar.gz
Make dangerous-default-argument check resilient to inferred builtin calls for list/tuple/set.
-rw-r--r--checkers/base.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/checkers/base.py b/checkers/base.py
index 8198d16..604685a 100644
--- a/checkers/base.py
+++ b/checkers/base.py
@@ -685,9 +685,12 @@ functions, methods
if (isinstance(value, astroid.Instance) and
value.qname() in DEFAULT_ARGUMENT_SYMBOLS):
+ is_infered_builtin = isinstance(
+ value,
+ (astroid.List, astroid.Tuple, astroid.Set))
if value is default:
msg = DEFAULT_ARGUMENT_SYMBOLS[value.qname()]
- elif type(value) is astroid.Instance:
+ elif type(value) is astroid.Instance or is_infered_builtin:
if isinstance(default, astroid.CallFunc):
# this argument is direct call to list() or dict() etc
msg = '%s() (%s)' % (value.name, value.qname())