pylint-dev/pylint

Use inference to determine if **kwargs is missing a named parameter

Open

#8,785 opened on Jun 18, 2023

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Python (1,059 forks)batch import
False Negative 🦋Good first issueHacktoberfestNeeds PR

Repository metrics

Stars
 (4,978 stars)
PR merge metrics
 (Avg merge 12h 9m) (29 merged PRs in 30d)

Description

I would expect these two lines to raise the same set of messages. We don't use inference to analyze whether **kwargs contains the missing named parameter x. We could.

import copy
import os

copy.copy(**{"y": os.environ})  # [unexpected-keyword-arg]
copy.copy(y=os.environ)  # [no-value-for-parameter, unexpected-keyword-arg]

False negative for no-value-for-parameter.

Contributor guide