New submission from Roman Yurchak <rth.yurc...@pm.me>:

Lib/argparse.py uses `is` for string comparison,

`
221:            if self.heading is not SUPPRESS and self.heading is not None:
247:        if text is not SUPPRESS and text is not None:
251:        if usage is not SUPPRESS:
256:        if action.help is not SUPPRESS:
290:                        if part and part is not SUPPRESS])
679:            if action.default is not SUPPRESS:
1130:        if self.dest is not SUPPRESS:
1766:            if action.dest is not SUPPRESS:
1768:                    if action.default is not SUPPRESS:
1851:            if argument_values is not SUPPRESS:
2026:                             if action.help is not SUPPRESS]
`

where `SUPPRESS = '==SUPPRESS=='`. Unless I'm missing something this can 
produce false negatives if the variable that we compare against is a slice from 
another string. Using equality is probably safer in any case.

Detected with LGTM.com analysis.

----------
components: Library (Lib)
messages: 331246
nosy: rth
priority: normal
severity: normal
status: open
title: Lib/argparse.py uses `is` for string comparison
versions: Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue35430>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to