PyCQA/flake8-bugbear

B006: Case where mutable default arguments are not detected

Aberta

#253 aberto em 10 de abr. de 2022

 (5 comentários) (0 reação) (0 responsável)Python (116 forks)github user discovery
bughelp wanted

Métricas do repositório

Stars
 (1.116 estrelas)
Métricas de merge de PR
 (Mesclagem média 4h 17m) (3 fundiu PRs em 30d)

Description

I realized that when using Python built-in dataclasses, the following scenario is not detected:

from dataclasses import dataclass

@dataclass
class MyClass:
    val = []  # Mutable data structure

Given the presence of the dataclass decorator, the signature of the __init__ method for MyClass is the following one:

def __init__(self, val = []):

I have seen that the rule B006 is supposed to detect issues where mutable data structures are used in a function signature. This is a slightly different scenario but with the same output if this effect is not intended. I could not find any related issue. Was this issue reported before?

Guia do colaborador