Skip to content

False positive with keywords-only fields of dataclasses when using defaulted fields #7881

@NeilGirdhar

Description

@NeilGirdhar

Bug description

This is a more complicated example than #5767

from dataclasses import KW_ONLY, dataclass, field @dataclass class Plotter: node_names: list[str] = field(default_factory=list) @dataclass class RewardsPlotter(Plotter): _: KW_ONLY smoothing: float RewardsPlotter(smoothing=4.0) # Unexpected keyword argument

Pylint output

a.py:13:0: E1123: Unexpected keyword argument 'smoothing' in constructor call (unexpected-keyword-arg)

Expected behavior

No error

Pylint version

pylint 2.16.0-dev astroid 2.12.13 Python 3.10.4 (main, Apr 7 2022, 10:39:08) [GCC 11.2.0]

OS / Environment

No response

Additional dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    False Positive 🦟A message is emitted but nothing is wrong with the codeNeeds astroid updateNeeds an astroid update (probably a release too) before being mergabledataclasses

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions