Skip to content

mypy_primer comments should not show duplicate errors #2209

@rchen152

Description

@rchen152

I noticed that comments showing the mypy_primer diff on PRs include added/removed errors twice. As an example (taken from recently merged #2189):

hydpy (https://github.com/hydpy-dev/hydpy)
- ERROR hydpy/core/importtools.py:361:5-21: Overload return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` [inconsistent-overload]
+ ERROR hydpy/core/importtools.py:361:5-21: Overload return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` [inconsistent-overload]
- ERROR hydpy/core/importtools.py:377:5-21: Overload return type `[TM_contra](PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` [inconsistent-overload]
+ ERROR hydpy/core/importtools.py:377:5-21: Overload return type `[TM_contra: Model](PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` [inconsistent-overload]
- ::error file=hydpy/core/importtools.py,line=361,col=5,endLine=361,endColumn=21,title=Pyrefly inconsistent-overload::Overload return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]`%0A  `PrepSub1D[TM_contra, SubmodelInterface].__call__` has type `BoundMethod[PrepSub1D[TM_contra, @_], (self: PrepSub1D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, position: int, refresh: bool) -> None]`, which is not assignable to `BoundMethod[PrepSub1D[TM_contra, @_], (self: PrepSub1D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, refresh: bool) -> None]`, the type of `PrepSub0D.__call__`
+ ::error file=hydpy/core/importtools.py,line=361,col=5,endLine=361,endColumn=21,title=Pyrefly inconsistent-overload::Overload return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[0], TM_contra, SubmodelInterface]`%0A  `PrepSub1D[TM_contra, SubmodelInterface].__call__` has type `BoundMethod[PrepSub1D[TM_contra, @_], (self: PrepSub1D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, position: int, refresh: bool) -> None]`, which is not assignable to `BoundMethod[PrepSub1D[TM_contra, @_], (self: PrepSub1D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, refresh: bool) -> None]`, the type of `PrepSub0D.__call__`
- ::error file=hydpy/core/importtools.py,line=377,col=5,endLine=377,endColumn=21,title=Pyrefly inconsistent-overload::Overload return type `[TM_contra](PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]`%0A  `PrepSub0D[TM_contra, SubmodelInterface].__call__` has type `BoundMethod[PrepSub0D[TM_contra, @_], (self: PrepSub0D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, refresh: bool) -> None]`, which is not assignable to `BoundMethod[PrepSub0D[TM_contra, @_], (self: PrepSub0D[TM_contra, SubmodelInterface], model: @_, submodel: SubmodelInterface, /, *, position: int, refresh: bool) -> None]`, the type of `PrepSub1D.__call__`
+ ::error file=hydpy/core/importtools.py,line=377,col=5,endLine=377,endColumn=21,title=Pyrefly inconsistent-overload::Overload return type `[TM_contra: Model](PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]` is not assignable to implementation return type `[TM_contra: Model](PrepSub0D[TM_contra, SubmodelInterface] | PrepSub1D[TM_contra, SubmodelInterface]) -> SubmodelAdder[Literal[1], TM_contra, SubmodelInterface]`%0A  `PrepSub0D[TM_contra, SubmodelInterface].__call__` has type `BoundMethod[PrepSub0D[TM_contra, @_], (self: PrepSub0D[TM_contra, SubmodelInterface], model: TM_contra, submodel: SubmodelInterface, /, *, refresh: bool) -> None]`, which is not assignable to `BoundMethod[PrepSub0D[TM_contra, @_], (self: PrepSub0D[TM_contra, SubmodelInterface], model: @_, submodel: SubmodelInterface, /, *, position: int, refresh: bool) -> None]`, the type of `PrepSub1D.__call__`

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions