PyCQA/flake8-bugbear

B018 doesn't trigger for useless expressions involving multiple variables

Open

#452 ouverte le 16 janv. 2024

Voir sur GitHub
 (3 commentaires) (1 réaction) (0 assignés)Python (116 forks)github user discovery
bughelp wanted

Métriques du dépôt

Stars
 (1 116 stars)
Métriques de merge PR
 (Métriques PR en attente)

Description

I recently ran into the following bug and was surprised it wasn't flagged by B018:

def some_funcion(a, b, c, d):
    result = a * b
    +c * d

    return result

that should have been

def some_funcion(a, b, c, d):
    result = (
        a * b
        + c * d
    )

    return result

It looks like B018 doesn't trigger for expressions containing multiple variables.

Here's some examples:

a * b     # doesn't trigger B018
+a * b    # doesn't trigger B018
+1 * 2    # doesn't trigger B018
-1 * 2    # doesn't trigger B018
1 * 2 + 3 # doesn't trigger B018
a + 1     # doesn't trigger B018
a         # triggers B018
(a, b)    # triggers B018
1         # triggers B018
+1        # triggers B018
-1        # triggers B018

Versions I'm using:

python version 3.10.13
flake8 version 7.0.0
flake8-bugbear version 23.12.2
ruff version 0.1.13

Guide contributeur