promote anonymous typed dicts when unioning#2351
Open
yangdanny97 wants to merge 2 commits intofacebook:mainfrom
Open
promote anonymous typed dicts when unioning#2351yangdanny97 wants to merge 2 commits intofacebook:mainfrom
yangdanny97 wants to merge 2 commits intofacebook:mainfrom
Conversation
|
@yangdanny97 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D92586637. |
yangdanny97
added a commit
to yangdanny97/pyrefly
that referenced
this pull request
Feb 7, 2026
Summary: Pull Request resolved: facebook#2351 Differential Revision: D92586637
dcfc155 to
0e8053c
Compare
yangdanny97
added a commit
to yangdanny97/pyrefly
that referenced
this pull request
Feb 7, 2026
Summary: Pull Request resolved: facebook#2351 Differential Revision: D92586637
0e8053c to
644eca7
Compare
Summary: Add epoch check to the answers branch in lookup_answer. Previously, only the solutions branch checked epochs.checked == now, meaning stale answers from a previous epoch could be used when a dependency had been recomputed. This could cause inconsistency between cached type data and rebuilt range tables. Now both branches require epochs.checked == now before using cached data. When the epoch check fails, we fall through to demand(), which ensures the module is properly re-checked before its data is used. Reviewed By: yangdanny97 Differential Revision: D92580678
Summary: Pull Request resolved: facebook#2351 Differential Revision: D92586637
644eca7 to
dd83937
Compare
|
Diff from mypy_primer, showing the effect of this PR on open source code: scrapy (https://github.com/scrapy/scrapy)
+ ERROR tests/test_feedexport.py:1682:25-38: Cannot index into `dict[str, Any]` [bad-index]
+ ERROR tests/test_feedexport.py:1781:25-47: Cannot index into `bytes` [bad-index]
+ ERROR tests/test_feedexport.py:1781:25-47: Cannot index into `dict[str, Any]` [bad-index]
+ ::error file=tests/test_feedexport.py,line=1682,col=25,endLine=1682,endColumn=38,title=Pyrefly bad-index::Cannot index into `dict[str, Any]`%0A Argument `bytes | int | str | None` is not assignable to parameter `key` with type `str` in function `dict.__getitem__`
+ ::error file=tests/test_feedexport.py,line=1781,col=25,endLine=1781,endColumn=47,title=Pyrefly bad-index::Cannot index into `bytes`%0A No matching overload found for function `bytes.__getitem__` called with arguments: (Literal['format'])%0A Possible overloads:%0A (key: SupportsIndex, /) -> int [closest match]%0A (key: slice[Any, Any, Any], /) -> bytes
+ ::error file=tests/test_feedexport.py,line=1781,col=25,endLine=1781,endColumn=47,title=Pyrefly bad-index::Cannot index into `dict[str, Any]`%0A Argument `dict[str, bool] | str | Unknown` is not assignable to parameter `key` with type `str` in function `dict.__getitem__`
bokeh (https://github.com/bokeh/bokeh)
- ERROR src/bokeh/models/plots.py:177:57-65: Argument `dict[Unknown, Unknown] | dict[str, str] | dict[str, type[Model]] | Unknown` is not assignable to parameter `selector` with type `dict[str | type[_Operator], Any]` in function `bokeh.core.query.find` [bad-argument-type]
+ ERROR src/bokeh/models/plots.py:177:57-65: Argument `dict[str, str] | dict[str, type[Model]] | dict[Unknown, Unknown] | Unknown` is not assignable to parameter `selector` with type `dict[str | type[_Operator], Any]` in function `bokeh.core.query.find` [bad-argument-type]
- ::error file=src/bokeh/models/plots.py,line=177,col=57,endLine=177,endColumn=65,title=Pyrefly bad-argument-type::Argument `dict[Unknown, Unknown] | dict[str, str] | dict[str, type[Model]] | Unknown` is not assignable to parameter `selector` with type `dict[str | type[_Operator], Any]` in function `bokeh.core.query.find`
+ ::error file=src/bokeh/models/plots.py,line=177,col=57,endLine=177,endColumn=65,title=Pyrefly bad-argument-type::Argument `dict[str, str] | dict[str, type[Model]] | dict[Unknown, Unknown] | Unknown` is not assignable to parameter `selector` with type `dict[str | type[_Operator], Any]` in function `bokeh.core.query.find`
aioredis (https://github.com/aio-libs/aioredis)
- ERROR aioredis/client.py:4250:44-70: No matching overload found for function `dict.get` called with arguments: (Unknown | None, None) [no-matching-overload]
+ ERROR aioredis/client.py:4250:44-70: No matching overload found for function `dict.get` called with arguments: (str | Unknown | None, None) [no-matching-overload]
- ERROR aioredis/client.py:4252:44-70: No matching overload found for function `dict.get` called with arguments: (Unknown | None, None) [no-matching-overload]
+ ERROR aioredis/client.py:4252:44-70: No matching overload found for function `dict.get` called with arguments: (str | Unknown | None, None) [no-matching-overload]
- ::error file=aioredis/client.py,line=4250,col=44,endLine=4250,endColumn=70,title=Pyrefly no-matching-overload::No matching overload found for function `dict.get` called with arguments: (Unknown | None, None)%0A Possible overloads:%0A (key: ChannelT, default: None = None, /) -> ((dict[str, str]) -> Awaitable[None]) | None [closest match]%0A (key: ChannelT, default: (dict[str, str]) -> Awaitable[None], /) -> (dict[str, str]) -> Awaitable[None]%0A (key: ChannelT, default: _T, /) -> ((dict[str, str]) -> Awaitable[None]) | _T
+ ::error file=aioredis/client.py,line=4250,col=44,endLine=4250,endColumn=70,title=Pyrefly no-matching-overload::No matching overload found for function `dict.get` called with arguments: (str | Unknown | None, None)%0A Possible overloads:%0A (key: ChannelT, default: None = None, /) -> ((dict[str, str]) -> Awaitable[None]) | None [closest match]%0A (key: ChannelT, default: (dict[str, str]) -> Awaitable[None], /) -> (dict[str, str]) -> Awaitable[None]%0A (key: ChannelT, default: _T, /) -> ((dict[str, str]) -> Awaitable[None]) | _T
- ::error file=aioredis/client.py,line=4252,col=44,endLine=4252,endColumn=70,title=Pyrefly no-matching-overload::No matching overload found for function `dict.get` called with arguments: (Unknown | None, None)%0A Possible overloads:%0A (key: ChannelT, default: None = None, /) -> ((dict[str, str]) -> Awaitable[None]) | None [closest match]%0A (key: ChannelT, default: (dict[str, str]) -> Awaitable[None], /) -> (dict[str, str]) -> Awaitable[None]%0A (key: ChannelT, default: _T, /) -> ((dict[str, str]) -> Awaitable[None]) | _T
+ ::error file=aioredis/client.py,line=4252,col=44,endLine=4252,endColumn=70,title=Pyrefly no-matching-overload::No matching overload found for function `dict.get` called with arguments: (str | Unknown | None, None)%0A Possible overloads:%0A (key: ChannelT, default: None = None, /) -> ((dict[str, str]) -> Awaitable[None]) | None [closest match]%0A (key: ChannelT, default: (dict[str, str]) -> Awaitable[None], /) -> (dict[str, str]) -> Awaitable[None]%0A (key: ChannelT, default: _T, /) -> ((dict[str, str]) -> Awaitable[None]) | _T
cki-lib (https://gitlab.com/cki-project/cki-lib)
- ERROR cki_lib/inttests/cluster.py:242:17-100: `+=` is not supported between `None` and `list[dict[str, str | dict[str, str]]]` [unsupported-operation]
+ ERROR cki_lib/inttests/cluster.py:242:17-100: `+=` is not supported between `None` and `list[dict[str, dict[str, str] | str]]` [unsupported-operation]
- ERROR tests/test_yaml.py:250:55-63: Argument `list[int | dict[str, dict[str, str]]] | list[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]] | list[dict[str, dict[str, str]]] | list[int] | list[dict[str, dict[Unknown, Unknown] | dict[str, str]]] | list[Unknown]` is not assignable to parameter `iterable` with type `Iterable[int | dict[str, dict[str, str]]]` in function `enumerate.__new__` [bad-argument-type]
+ ERROR tests/test_yaml.py:250:55-63: Argument `list[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]] | list[dict[str, dict[str, str]] | int] | list[dict[str, dict[str, str]]] | list[int] | list[dict[str, dict[str, str] | dict[Unknown, Unknown]]] | list[Unknown]` is not assignable to parameter `iterable` with type `Iterable[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]]` in function `enumerate.__new__` [bad-argument-type]
- ::error file=cki_lib/inttests/cluster.py,line=242,col=17,endLine=242,endColumn=100,title=Pyrefly unsupported-operation::`+=` is not supported between `None` and `list[dict[str, str | dict[str, str]]]`%0A Cannot find `__iadd__` or `__add__` or `__radd__`
+ ::error file=cki_lib/inttests/cluster.py,line=242,col=17,endLine=242,endColumn=100,title=Pyrefly unsupported-operation::`+=` is not supported between `None` and `list[dict[str, dict[str, str] | str]]`%0A Cannot find `__iadd__` or `__add__` or `__radd__`
- ::error file=tests/test_yaml.py,line=250,col=55,endLine=250,endColumn=63,title=Pyrefly bad-argument-type::Argument `list[int | dict[str, dict[str, str]]] | list[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]] | list[dict[str, dict[str, str]]] | list[int] | list[dict[str, dict[Unknown, Unknown] | dict[str, str]]] | list[Unknown]` is not assignable to parameter `iterable` with type `Iterable[int | dict[str, dict[str, str]]]` in function `enumerate.__new__`
+ ::error file=tests/test_yaml.py,line=250,col=55,endLine=250,endColumn=63,title=Pyrefly bad-argument-type::Argument `list[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]] | list[dict[str, dict[str, str]] | int] | list[dict[str, dict[str, str]]] | list[int] | list[dict[str, dict[str, str] | dict[Unknown, Unknown]]] | list[Unknown]` is not assignable to parameter `iterable` with type `Iterable[dict[str, dict[Unknown, Unknown] | str] | dict[str, dict[str, str]]]` in function `enumerate.__new__`
prefect (https://github.com/PrefectHQ/prefect)
- ERROR src/integrations/prefect-azure/prefect_azure/workers/container_instance.py:233:41-235:6: No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, list[dict[str, str | dict[str, list[dict[str, str | dict[str, list[Unknown] | str | dict[str, dict[str, str]]]]] | str]]] | str | dict[str, dict[str, str | dict[str, str]]]]]) [no-matching-overload]
+ ERROR src/integrations/prefect-azure/prefect_azure/workers/container_instance.py:233:41-235:6: No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, dict[str, dict[str, dict[str, str] | str]] | list[dict[str, dict[str, list[dict[str, dict[str, dict[str, dict[str, str]] | list[Unknown] | str] | str]] | str] | str]] | str]]) [no-matching-overload]
- ERROR src/integrations/prefect-gcp/prefect_gcp/workers/vertex.py:266:37-297:6: No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, list[dict[str, int | dict[str, str] | dict[str, list[@_] | str]]] | str]]) [no-matching-overload]
+ ERROR src/integrations/prefect-gcp/prefect_gcp/workers/vertex.py:266:37-297:6: No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, list[dict[str, dict[str, list[@_] | str] | dict[str, str] | int]] | str]]) [no-matching-overload]
+ ERROR src/integrations/prefect-azure/tests/conftest.py:77:44-64: Object of class `NoneType` has no attribute `startswith` [missing-attribute]
- ::error file=src/integrations/prefect-azure/prefect_azure/workers/container_instance.py,line=233,col=41,endLine=235,endColumn=6,title=Pyrefly no-matching-overload::No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, list[dict[str, str | dict[str, list[dict[str, str | dict[str, list[Unknown] | str | dict[str, dict[str, str]]]]] | str]]] | str | dict[str, dict[str, str | dict[str, str]]]]])%0A Possible overloads:%0A (default: EllipsisType, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: bool | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (default: Any, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[True], repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (default: _T, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[False] = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> _T%0A (*, default_factory: (() -> Any) | ((dict[str, Any]) -> Any), alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[True], repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (*, default_factory: (() -> _T) | ((dict[str, Any]) -> _T), alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[False] | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> _T%0A (*, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: bool | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any [closest match]
+ ::error file=src/integrations/prefect-azure/prefect_azure/workers/container_instance.py,line=233,col=41,endLine=235,endColumn=6,title=Pyrefly no-matching-overload::No matching overload found for function `pydantic.fields.Field` called with arguments: (json_schema_extra=dict[str, dict[str, dict[str, dict[str, dict[str, str] | str]] | list[dict[str, dict[str, list[dict[str, dict[str, dict[str, dict[str, str]] | list[Unknown] | str] | str]] | str] | str]] | str]])%0A Possible overloads:%0A (default: EllipsisType, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: bool | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (default: Any, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[True], repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (default: _T, *, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[False] = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> _T%0A (*, default_factory: (() -> Any) | ((dict[str, Any]) -> Any), alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[True], repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any%0A (*, default_factory: (() -> _T) | ((dict[str, Any]) -> _T), alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: Literal[False] | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> _T%0A (*, alias: str | None = ..., alias_priority: int | None = ..., validation_alias: AliasChoices | AliasPath | str | None = ..., serialization_alias: str | None = ..., title: str | None = ..., field_title_generator: ((str, FieldInfo) -> str) | None = ..., description: str | None = ..., examples: list[Any] | None = ..., exclude: bool | None = ..., exclude_if: ((Any) -> bool) | None = ..., discriminator: Discriminator | str | None = ..., deprecated: bool | deprecated | str | None = ..., json_schema_extra: ((dict[str, JsonValue]) -> None) | dict[str, JsonValue] | None = ..., frozen: bool | None = ..., validate_default: bool | None = ..., repr: bool = ..., init: bool | None = ..., init_var: bool | None = ..., kw_only: bool | None = ..., pattern: Pattern[str] | str | None = ..., strict: bool | None = ..., coerce_numbers_to_str: bool | None = ..., gt: SupportsGt | None = ..., ge: SupportsGe | None = ..., lt: SupportsLt | None = ..., le: SupportsLe | None = ..., multiple_of: float | None = ..., allow_inf_nan: bool | None = ..., max_digits: int | None = ..., decimal_places: int | None = ..., min_length: int | None = ..., max_length: int | None = ..., union_mode: Literal['left_to_right', 'smart'] = ..., fail_fast: bool | None = ..., **extra: Unpack[_EmptyKwargs]) -> Any [closest match]
... (truncated 3 lines) ...
scikit-build-core (https://github.com/scikit-build/scikit-build-core)
- ERROR src/scikit_build_core/settings/skbuild_schema.py:102:26-27: `Literal[1]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]` [bad-typed-dict-key]
+ ERROR src/scikit_build_core/settings/skbuild_schema.py:102:26-27: `Literal[1]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str` [bad-typed-dict-key]
- ERROR src/scikit_build_core/settings/skbuild_schema.py:103:33-38: `Literal[False]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]` [bad-typed-dict-key]
+ ERROR src/scikit_build_core/settings/skbuild_schema.py:103:33-38: `Literal[False]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str` [bad-typed-dict-key]
+ ERROR src/scikit_build_core/settings/skbuild_schema.py:157:20-165:14: `dict[str, bool | dict[str, dict[str, list[dict[str, str]]]] | int | str]` is not assignable to TypedDict key with type `dict[str, str]` [bad-typed-dict-key]
- ERROR src/scikit_build_core/settings/skbuild_schema.py:159:38-161:18: `dict[str, dict[str, list[dict[str, str]]]]` is not assignable to TypedDict key with type `str` [bad-typed-dict-key]
- ERROR src/scikit_build_core/settings/skbuild_schema.py:162:41-46: `Literal[False]` is not assignable to TypedDict key with type `str` [bad-typed-dict-key]
- ERROR src/scikit_build_core/settings/skbuild_schema.py:163:34-35: `Literal[1]` is not assignable to TypedDict key with type `str` [bad-typed-dict-key]
- ERROR src/scikit_build_core/settings/skbuild_schema.py:169:17-46: `list[str]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]` [bad-typed-dict-key]
+ ERROR src/scikit_build_core/settings/skbuild_schema.py:169:17-46: `list[str]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str` [bad-typed-dict-key]
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=102,col=26,endLine=102,endColumn=27,title=Pyrefly bad-typed-dict-key::`Literal[1]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]`
+ ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=102,col=26,endLine=102,endColumn=27,title=Pyrefly bad-typed-dict-key::`Literal[1]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str`
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=103,col=33,endLine=103,endColumn=38,title=Pyrefly bad-typed-dict-key::`Literal[False]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]`
+ ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=103,col=33,endLine=103,endColumn=38,title=Pyrefly bad-typed-dict-key::`Literal[False]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str`
+ ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=157,col=20,endLine=165,endColumn=14,title=Pyrefly bad-typed-dict-key::`dict[str, bool | dict[str, dict[str, list[dict[str, str]]]] | int | str]` is not assignable to TypedDict key with type `dict[str, str]`
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=159,col=38,endLine=161,endColumn=18,title=Pyrefly bad-typed-dict-key::`dict[str, dict[str, list[dict[str, str]]]]` is not assignable to TypedDict key with type `str`
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=162,col=41,endLine=162,endColumn=46,title=Pyrefly bad-typed-dict-key::`Literal[False]` is not assignable to TypedDict key with type `str`
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=163,col=34,endLine=163,endColumn=35,title=Pyrefly bad-typed-dict-key::`Literal[1]` is not assignable to TypedDict key with type `str`
- ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=169,col=17,endLine=169,endColumn=46,title=Pyrefly bad-typed-dict-key::`list[str]` is not assignable to TypedDict key with type `str | dict[str, dict[str, str]]`
+ ::error file=src/scikit_build_core/settings/skbuild_schema.py,line=169,col=17,endLine=169,endColumn=46,title=Pyrefly bad-typed-dict-key::`list[str]` is not assignable to TypedDict key with type `dict[str, dict[str, str]] | str`
meson (https://github.com/mesonbuild/meson)
- ERROR mesonbuild/mintro.py:644:35-88: `list[str]` is not assignable to TypedDict key `error_list` with type `bool | dict[str, int | str] | dict[str, str] | dict[str, dict[str, int | str] | dict[str, dict[str, bool | str]]]` [bad-typed-dict-key]
+ ERROR mesonbuild/mintro.py:644:35-88: `list[str]` is not assignable to TypedDict key `error_list` with type `bool | dict[str, dict[str, int | str] | dict[str, dict[str, bool | str]]] | dict[str, int | str] | dict[str, str]` [bad-typed-dict-key]
- WARN mesonbuild/rewriter.py:1011:23-44: Redundant cast: `BaseNode` is the same type as `BaseNode` [redundant-cast]
- ::error file=mesonbuild/mintro.py,line=644,col=35,endLine=644,endColumn=88,title=Pyrefly bad-typed-dict-key::`list[str]` is not assignable to TypedDict key `error_list` with type `bool | dict[str, int | str] | dict[str, str] | dict[str, dict[str, int | str] | dict[str, dict[str, bool | str]]]`
+ ::error file=mesonbuild/mintro.py,line=644,col=35,endLine=644,endColumn=88,title=Pyrefly bad-typed-dict-key::`list[str]` is not assignable to TypedDict key `error_list` with type `bool | dict[str, dict[str, int | str] | dict[str, dict[str, bool | str]]] | dict[str, int | str] | dict[str, str]`
- ::warning file=mesonbuild/rewriter.py,line=1011,col=23,endLine=1011,endColumn=44,title=Pyrefly redundant-cast::Redundant cast: `BaseNode` is the same type as `BaseNode`
freqtrade (https://github.com/freqtrade/freqtrade)
- ERROR freqtrade/configuration/config_validation.py:54:35-56: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, str] | dict[str, bool | int | list[str] | str | dict[str, dict[str, str]]] | dict[str, float | list[str] | str] | dict[str, int | list[str] | str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, str]]] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, list[str] | str | dict[str, str]] | dict[str, str | dict[str, list[str] | str]] | dict[str, bool | int | str] | dict[str, int | str | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]]] | dict[str, float | str] | dict[str, float | int | str] | dict[str, str | dict[str, dict[str, str]]] | dict[str, dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str]] | str] | dict[str, list[str] | str | dict[str, dict[str, float | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str | dict[str, str]] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, list[str] | str | dict[str, list[str] | str]] | dict[str, list[str] | str]]] | dict[str, bool | str | dict[str, str]] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, list[dict[str, str]] | str | dict[str, str]]]] | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, list[str] | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str] | dict[str, str | dict[str, dict[str, str] | dict[str, int | str]]]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str]]] | dict[str, bool | list[int] | str]] | str | dict[str, dict[str, list[str] | str | dict[str, dict[str, bool | str] | dict[str, str | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str]]]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, bool | str | dict[str, str]]]] | dict[str, dict[str, dict[str, int | list[str] | str] | dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str | dict[str, int | str]] | dict[str, str | dict[str, dict[str, bool | str] | dict[str, float | str]]]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str | dict[str, dict[str, float | str] | dict[str, int | str]]]]]] | list[str] | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, int | str]]]]` [bad-typed-dict-key]
- ERROR freqtrade/configuration/config_validation.py:57:39-63: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, str] | dict[str, bool | int | list[str] | str | dict[str, dict[str, str]]] | dict[str, float | list[str] | str] | dict[str, int | list[str] | str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, str]]] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, list[str] | str | dict[str, str]] | dict[str, str | dict[str, list[str] | str]] | dict[str, bool | int | str] | dict[str, int | str | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]]] | dict[str, float | str] | dict[str, float | int | str] | dict[str, str | dict[str, dict[str, str]]] | dict[str, dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str]] | str] | dict[str, list[str] | str | dict[str, dict[str, float | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str | dict[str, str]] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, list[str] | str | dict[str, list[str] | str]] | dict[str, list[str] | str]]] | dict[str, bool | str | dict[str, str]] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, list[dict[str, str]] | str | dict[str, str]]]] | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, list[str] | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str] | dict[str, str | dict[str, dict[str, str] | dict[str, int | str]]]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str]]] | dict[str, bool | list[int] | str]] | str | dict[str, dict[str, list[str] | str | dict[str, dict[str, bool | str] | dict[str, str | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str]]]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, bool | str | dict[str, str]]]] | dict[str, dict[str, dict[str, int | list[str] | str] | dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str | dict[str, int | str]] | dict[str, str | dict[str, dict[str, bool | str] | dict[str, float | str]]]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str | dict[str, dict[str, float | str] | dict[str, int | str]]]]]] | list[str] | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, int | str]]]]` [bad-typed-dict-key]
- ERROR freqtrade/configuration/config_validation.py:59:39-69: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, str] | dict[str, bool | int | list[str] | str | dict[str, dict[str, str]]] | dict[str, float | list[str] | str] | dict[str, int | list[str] | str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, str]]] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, list[str] | str | dict[str, str]] | dict[str, str | dict[str, list[str] | str]] | dict[str, bool | int | str] | dict[str, int | str | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]]] | dict[str, float | str] | dict[str, float | int | str] | dict[str, str | dict[str, dict[str, str]]] | dict[str, dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str]] | str] | dict[str, list[str] | str | dict[str, dict[str, float | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str | dict[str, str]] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, list[str] | str | dict[str, list[str] | str]] | dict[str, list[str] | str]]] | dict[str, bool | str | dict[str, str]] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, list[dict[str, str]] | str | dict[str, str]]]] | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, list[str] | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str] | dict[str, str | dict[str, dict[str, str] | dict[str, int | str]]]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str]]] | dict[str, bool | list[int] | str]] | str | dict[str, dict[str, list[str] | str | dict[str, dict[str, bool | str] | dict[str, str | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str]]]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, bool | str | dict[str, str]]]] | dict[str, dict[str, dict[str, int | list[str] | str] | dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str | dict[str, int | str]] | dict[str, str | dict[str, dict[str, bool | str] | dict[str, float | str]]]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str | dict[str, dict[str, float | str] | dict[str, int | str]]]]]] | list[str] | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, int | str]]]]` [bad-typed-dict-key]
- ERROR freqtrade/configuration/config_validation.py:61:35-59: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, str] | dict[str, bool | int | list[str] | str | dict[str, dict[str, str]]] | dict[str, float | list[str] | str] | dict[str, int | list[str] | str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, str]]] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, list[str] | str | dict[str, str]] | dict[str, str | dict[str, list[str] | str]] | dict[str, bool | int | str] | dict[str, int | str | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]]] | dict[str, float | str] | dict[str, float | int | str] | dict[str, str | dict[str, dict[str, str]]] | dict[str, dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str]] | str] | dict[str, list[str] | str | dict[str, dict[str, float | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str | dict[str, str]] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, list[str] | str | dict[str, list[str] | str]] | dict[str, list[str] | str]]] | dict[str, bool | str | dict[str, str]] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, list[dict[str, str]] | str | dict[str, str]]]] | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, list[str] | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str] | dict[str, str | dict[str, dict[str, str] | dict[str, int | str]]]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str]]] | dict[str, bool | list[int] | str]] | str | dict[str, dict[str, list[str] | str | dict[str, dict[str, bool | str] | dict[str, str | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str]]]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, bool | str | dict[str, str]]]] | dict[str, dict[str, dict[str, int | list[str] | str] | dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str | dict[str, int | str]] | dict[str, str | dict[str, dict[str, bool | str] | dict[str, float | str]]]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str | dict[str, dict[str, float | str] | dict[str, int | str]]]]]] | list[str] | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, int | str]]]]` [bad-typed-dict-key]
- ERROR freqtrade/configuration/config_validation.py:63:35-58: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, str] | dict[str, bool | int | list[str] | str | dict[str, dict[str, str]]] | dict[str, float | list[str] | str] | dict[str, int | list[str] | str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, str]]] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, list[str] | str | dict[str, str]] | dict[str, str | dict[str, list[str] | str]] | dict[str, bool | int | str] | dict[str, int | str | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]]] | dict[str, float | str] | dict[str, float | int | str] | dict[str, str | dict[str, dict[str, str]]] | dict[str, dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str]] | str] | dict[str, list[str] | str | dict[str, dict[str, float | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str | dict[str, str]] | dict[str, list[str] | str] | dict[str, str | dict[str, str]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, dict[Unknown, Unknown] | str | dict[str, dict[str, list[str] | str | dict[str, list[str] | str]] | dict[str, list[str] | str]]] | dict[str, bool | str | dict[str, str]] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, list[dict[str, str]] | str | dict[str, str]]]] | dict[str, list[str] | str | dict[str, dict[str, list[str] | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, float | str]]] | dict[str, str | dict[str, dict[str, list[str] | str] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str] | dict[str, str | dict[str, dict[str, str] | dict[str, int | str]]]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, list[str] | str] | dict[str, int | str] | dict[str, bool | int | str]]] | dict[str, bool | list[int] | str]] | str | dict[str, dict[str, list[str] | str | dict[str, dict[str, bool | str] | dict[str, str | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str]]]] | dict[str, int | str]]] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, bool | str | dict[str, str]]]] | dict[str, dict[str, dict[str, int | list[str] | str] | dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str | dict[str, int | str]] | dict[str, str | dict[str, dict[str, bool | str] | dict[str, float | str]]]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str]]] | dict[str, str | dict[str, dict[str, str] | dict[str, bool | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str | dict[str, dict[str, float | str] | dict[str, int | str]]]]]] | list[str] | str] | dict[str, list[str] | str | dict[str, dict[str, str] | dict[str, int | str]]]]` [bad-typed-dict-key]
+ ERROR freqtrade/configuration/config_validation.py:54:35-56: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, bool | dict[str, dict[str, str]] | int | list[str] | str] | dict[str, bool | int | str] | dict[str, bool | list[int] | str] | dict[str, bool | str] | dict[str, dict[str, dict[str, bool | dict[str, str] | str] | dict[str, bool | str] | dict[str, dict[str, dict[str, dict[str, list[str] | str] | list[str] | str] | dict[str, list[str] | str]] | dict[Unknown, Unknown] | str] | dict[str, float | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | int | str] | dict[str, dict[str, dict[str, int | str] | dict[str, str]] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | int | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, dict[str, str] | list[dict[str, str]] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, dict[str, str] | list[str] | str] | dict[str, dict[str, str] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, float | str] | dict[str, int | str]] | list[str] | str] | dict[str, dict[str, dict[str, float | str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, list[str] | str]] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, dict[str, list[str] | str]] | list[str] | str] | int | str] | dict[str, dict[str, list[str] | str] | str] | dict[str, dict[str, dict[str, list[str] | str]] | list[str] | str] | dict[str, dict[str, dict[str, str]] | dict[Unknown, Unknown] | str] | dict[str, dict[str, str] | list[str] | str] | dict[str, dict[str, str] | str] | dict[str, dict[str, dict[str, str]] | str] | dict[str, float | int | str] | dict[str, float | list[str] | str] | dict[str, float | str] | dict[str, int | list[str] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | dict[str, dict[str, dict[str, dict[str, bool | dict[str, str] | str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, float | str]] | str] | dict[str, dict[str, int | str] | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, float | str] | dict[str, int | str]] | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, str]] | str] | dict[str, int | list[str] | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, dict[str, bool | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | str] | dict[str, int | str]] | list[str] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, str]] | list[str] | str]] | str` [bad-typed-dict-key]
+ ERROR freqtrade/configuration/config_validation.py:57:39-63: `list[str]` is not assignable to TypedDict key `required` with type `dict[str, dict[str, bool | dict[str, dict[str, str]] | int | list[str] | str] | dict[str, bool | int | str] | dict[str, bool | list[int] | str] | dict[str, bool | str] | dict[str, dict[str, dict[str, bool | dict[str, str] | str] | dict[str, bool | str] | dict[str, dict[str, dict[str, dict[str, list[str] | str] | list[str] | str] | dict[str, list[str] | str]] | dict[Unknown, Unknown] | str] | dict[str, float | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | int | str] | dict[str, dict[str, dict[str, int | str] | dict[str, str]] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | int | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, dict[str, str] | list[dict[str, str]] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, dict[str, str] | list[str] | str] | dict[str, dict[str, str] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, float | str] | dict[str, int | str]] | list[str] | str] | dict[str, dict[str, dict[str, float | str] | dict[str, list[PriceType] | str] | dict[str, list[str] | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, list[str] | str]] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, dict[str, list[str] | str]] | list[str] | str] | int | str] | dict[str, dict[str, list[str] | str] | str] | dict[str, dict[str, dict[str, list[str] | str]] | list[str] | str] | dict[str, dict[str, dict[str, str]] | dict[Unknown, Unknown] | str] | dict[str, dict[str, str] | list[str] | str] | dict[str, dict[str, str] | str] | dict[str, dict[str, dict[str, str]] | str] | dict[str, float | int | str] | dict[str, float | list[str] | str] | dict[str, float | str] | dict[str, int | list[str] | str] | dict[str, int | str] | dict[str, list[str] | str] | dict[str, str]] | dict[str, dict[str, dict[str, dict[str, bool | dict[str, str] | str] | dict[str, bool | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, float | str]] | str] | dict[str, dict[str, int | str] | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, float | str] | dict[str, int | str]] | str] | dict[str, float | str] | dict[str, int | str] | dict[str, list[int] | str] | dict[str, str]] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, str]] | str] | dict[str, int | list[str] | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | dict[str, dict[str, dict[str, bool | str] | dict[str, dict[str, dict[str, dict[str, bool | str] | dict[str, int | str] | dict[str, str]] | list[str] | str] | str] | dict[str, int | str]] | list[str] | str] | dict[str, dict[str, dict[str, int | str] | dict[str, str]] | list[str] | str]] | str` [bad-typed-dict-key]
... (truncated 13 lines) ...
materialize (https://github.com/MaterializeInc/materialize)
+ ERROR test/balancerd/mzcompose.py:89:23-45: Cannot index into `str` [bad-index]
+ ERROR test/balancerd/mzcompose.py:89:47-66: Cannot index into `str` [bad-index]
+ ::error file=test/balancerd/mzcompose.py,line=89,col=23,endLine=89,endColumn=45,title=Pyrefly bad-index::Cannot index into `str`%0A No matching overload found for function `str.__getitem__` called with arguments: (Literal['client_id'])%0A Possible overloads:%0A (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString%0A (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
+ ::error file=test/balancerd/mzcompose.py,line=89,col=47,endLine=89,endColumn=66,title=Pyrefly bad-index::Cannot index into `str`%0A No matching overload found for function `str.__getitem__` called with arguments: (Literal['secret'])%0A Possible overloads:%0A (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString%0A (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]
ibis (https://github.com/ibis-project/ibis)
- ERROR ibis/backends/tests/test_json.py:98:9-103:22: `+` is not supported between `list[dict[str, int | None] | dict[str, int | list[int]] | dict[str, str | None]]` and `list[None]` [unsupported-operation]
- ::error file=ibis/backends/tests/test_json.py,line=98,col=9,endLine=103,endColumn=22,title=Pyrefly unsupported-operation::`+` is not supported between `list[dict[str, int | None] | dict[str, int | list[int]] | dict[str, str | None]]` and `list[None]`%0A No matching overload found for function `list.__add__` called with arguments: (list[None])%0A Possible overloads:%0A (value: list[dict[str, int | None] | dict[str, int | list[int]] | dict[str, str | None]], /) -> list[dict[str, int | None] | dict[str, int | list[int]] | dict[str, str | None]]%0A (value: list[_S], /) -> list[dict[str, int | None] | dict[str, int | list[int]] | dict[str, str | None] | _S] [closest match]
streamlit (https://github.com/streamlit/streamlit)
+ ERROR lib/streamlit/elements/lib/built_in_chart_utils.py:194:23-50: Argument `bool | str` is not assignable to parameter `chart_command` with type `str` in function `AddRowsMetadata.__init__` [bad-argument-type]
- ERROR lib/tests/streamlit/elements/pydeck_test.py:659:34-39: Argument `dict[str, dict[str, dict[str, list[int]] | dict[str, list[dict[str, str]]]]]` is not assignable to parameter `selection_state` with type `PydeckState` in function `streamlit.elements.deck_gl_json_chart.PydeckSelectionSerde.serialize` [bad-argument-type]
+ ERROR lib/tests/streamlit/elements/pydeck_test.py:659:34-39: Argument `dict[str, dict[str, dict[str, list[dict[str, str]]] | dict[str, list[int]]]]` is not assignable to parameter `selection_state` with type `PydeckState` in function `streamlit.elements.deck_gl_json_chart.PydeckSelectionSerde.serialize` [bad-argument-type]
- ERROR lib/tests/streamlit/elements/vega_charts_test.py:2948:27-50: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], width=int | str) [no-matching-overload]
+ ERROR lib/tests/streamlit/elements/vega_charts_test.py:2948:27-50: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], width=int | str) [no-matching-overload]
- ERROR lib/tests/streamlit/elements/vega_charts_test.py:3053:31-51: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], **dict[str, int | str]) [no-matching-overload]
+ ERROR lib/tests/streamlit/elements/vega_charts_test.py:3053:31-51: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], **dict[str, int | str]) [no-matching-overload]
- ERROR lib/tests/streamlit/elements/vega_charts_test.py:3320:27-52: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], height=int | str) [no-matching-overload]
+ ERROR lib/tests/streamlit/elements/vega_charts_test.py:3320:27-52: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], height=int | str) [no-matching-overload]
- ERROR lib/tests/streamlit/elements/vega_charts_test.py:3346:31-63: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], height=int | str) [no-matching-overload]
+ ERROR lib/tests/streamlit/elements/vega_charts_test.py:3346:31-63: No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], height=int | str) [no-matching-overload]
+ ERROR lib/tests/streamlit/runtime/media_file_manager_test.py:161:26-34: Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `MediaFileManagerTest._add_file_and_get_object` [bad-argument-type]
+ ERROR lib/tests/streamlit/runtime/media_file_manager_test.py:218:60-78: Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add` [bad-argument-type]
+ ERROR lib/tests/streamlit/runtime/media_file_manager_test.py:328:40-58: Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add` [bad-argument-type]
+ ERROR lib/tests/streamlit/runtime/media_file_manager_test.py:404:36-54: Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add` [bad-argument-type]
+ ::error file=lib/streamlit/elements/lib/built_in_chart_utils.py,line=194,col=23,endLine=194,endColumn=50,title=Pyrefly bad-argument-type::Argument `bool | str` is not assignable to parameter `chart_command` with type `str` in function `AddRowsMetadata.__init__`
- ::error file=lib/tests/streamlit/elements/pydeck_test.py,line=659,col=34,endLine=659,endColumn=39,title=Pyrefly bad-argument-type::Argument `dict[str, dict[str, dict[str, list[int]] | dict[str, list[dict[str, str]]]]]` is not assignable to parameter `selection_state` with type `PydeckState` in function `streamlit.elements.deck_gl_json_chart.PydeckSelectionSerde.serialize`%0A Field `selection` in `<anonymous>` has type `dict[str, dict[str, list[int]] | dict[str, list[dict[str, str]]]]`, which is not consistent with `PydeckSelectionState` in `PydeckState` (read-write fields must have the same type)
+ ::error file=lib/tests/streamlit/elements/pydeck_test.py,line=659,col=34,endLine=659,endColumn=39,title=Pyrefly bad-argument-type::Argument `dict[str, dict[str, dict[str, list[dict[str, str]]] | dict[str, list[int]]]]` is not assignable to parameter `selection_state` with type `PydeckState` in function `streamlit.elements.deck_gl_json_chart.PydeckSelectionSerde.serialize`%0A Field `selection` in `<anonymous>` has type `dict[str, dict[str, list[dict[str, str]]] | dict[str, list[int]]]`, which is not consistent with `PydeckSelectionState` in `PydeckState` (read-write fields must have the same type)
- ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=2948,col=27,endLine=2948,endColumn=50,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], width=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
+ ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=2948,col=27,endLine=2948,endColumn=50,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], width=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
- ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3053,col=31,endLine=3053,endColumn=51,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], **dict[str, int | str])%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
+ ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3053,col=31,endLine=3053,endColumn=51,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], **dict[str, int | str])%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
- ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3320,col=27,endLine=3320,endColumn=52,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], height=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
+ ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3320,col=27,endLine=3320,endColumn=52,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], height=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
- ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3346,col=31,endLine=3346,endColumn=63,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, str | dict[str, dict[str, str]]], height=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
+ ::error file=lib/tests/streamlit/elements/vega_charts_test.py,line=3346,col=31,endLine=3346,endColumn=63,title=Pyrefly no-matching-overload::No matching overload found for function `streamlit.elements.vega_charts.VegaChartsMixin.vega_lite_chart` called with arguments: (DataFrame, dict[str, dict[str, dict[str, str]] | str], height=int | str)%0A Possible overloads:%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['ignore'] = 'ignore', selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> DeltaGenerator [closest match]%0A (data: Data = None, spec: dict[str, Any] | None = None, *, width: Literal['content', 'stretch'] | int | None = None, height: Height = 'content', use_container_width: bool | None = None, theme: Literal['streamlit'] | None = 'streamlit', key: int | str | None = None, on_select: Literal['rerun'] | ((...) -> None), selection_mode: Iterable[str] | str | None = None, **kwargs: Any) -> VegaLiteState
+ ::error file=lib/tests/streamlit/runtime/media_file_manager_test.py,line=161,col=26,endLine=161,endColumn=34,title=Pyrefly bad-argument-type::Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `MediaFileManagerTest._add_file_and_get_object`
+ ::error file=lib/tests/streamlit/runtime/media_file_manager_test.py,line=218,col=60,endLine=218,endColumn=78,title=Pyrefly bad-argument-type::Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add`
+ ::error file=lib/tests/streamlit/runtime/media_file_manager_test.py,line=328,col=40,endLine=328,endColumn=58,title=Pyrefly bad-argument-type::Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add`
+ ::error file=lib/tests/streamlit/runtime/media_file_manager_test.py,line=404,col=36,endLine=404,endColumn=54,title=Pyrefly bad-argument-type::Argument `bytes | str` is not assignable to parameter `mimetype` with type `str` in function `streamlit.runtime.media_file_manager.MediaFileManager.add`
xarray (https://github.com/pydata/xarray)
- ERROR xarray/plot/dataset_plot.py:227:21-43: `str | Unknown | None` is not assignable to variable `hue_style` with type `Literal['continuous', 'discrete'] | None` [bad-assignment]
+ ERROR xarray/plot/dataset_plot.py:227:21-43: `bool | str | Unknown | None` is not assignable to variable `hue_style` with type `Literal['continuous', 'discrete'] | None` [bad-assignment]
- ERROR xarray/plot/utils.py:963:12-36: Returned type `tuple[dict[str, Unknown | None] | dict[str, list[Unknown] | ndarray[tuple[Any, ...], dtype[Any]] | str | Unknown | None], dict[tuple[str, Any], @_]]` is not assignable to declared return type `tuple[dict[str, Any], dict[str, Any]]` [bad-return]
+ ERROR xarray/plot/utils.py:963:12-36: Returned type `tuple[dict[str, list[Unknown] | ndarray[tuple[Any, ...], dtype[Any]] | str | Unknown | None] | dict[str, Unknown | None], dict[tuple[str, Any], @_]]` is not assignable to declared return type `tuple[dict[str, Any], dict[str, Any]]` [bad-return]
- ::error file=xarray/plot/dataset_plot.py,line=227,col=21,endLine=227,endColumn=43,title=Pyrefly bad-assignment::`str | Unknown | None` is not assignable to variable `hue_style` with type `Literal['continuous', 'discrete'] | None`
+ ::error file=xarray/plot/dataset_plot.py,line=227,col=21,endLine=227,endColumn=43,title=Pyrefly bad-assignment::`bool | str | Unknown | None` is not assignable to variable `hue_style` with type `Literal['continuous', 'discrete'] | None`
- ::error file=xarray/plot/utils.py,line=963,col=12,endLine=963,endColumn=36,title=Pyrefly bad-return::Returned type `tuple[dict[str, Unknown | None] | dict[str, list[Unknown] | ndarray[tuple[Any, ...], dtype[Any]] | str | Unknown | None], dict[tuple[str, Any], @_]]` is not assignable to declared return type `tuple[dict[str, Any], dict[str, Any]]`
+ ::error file=xarray/plot/utils.py,line=963,col=12,endLine=963,endColumn=36,title=Pyrefly bad-return::Returned type `tuple[dict[str, list[Unknown] | ndarray[tuple[Any, ...], dtype[Any]] | str | Unknown | None] | dict[str, Unknown | None], dict[tuple[str, Any], @_]]` is not assignable to declared return type `tuple[dict[str, Any], dict[str, Any]]`
colour (https://github.com/colour-science/colour)
- ERROR colour/recovery/mallett2019.py:209:22-211:6: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((...) -> Unknown, args=tuple[Unknown, ...], x0=ndarray[tuple[int], dtype[float64]], **dict[str, Bounds[tuple[int], float64] | list[LinearConstraint] | str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/recovery/mallett2019.py:209:22-211:6: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((...) -> Unknown, args=tuple[Unknown, ...], x0=ndarray[tuple[int], dtype[float64]], **dict[str, Bounds[tuple[int], float64] | dict[str, float] | list[LinearConstraint] | str]) [no-matching-overload]
- ERROR colour/recovery/meng2015.py:214:22-78: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((a: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, ndarray[tuple[Any, ...], dtype[DTypeFloat]], **dict[str, ndarray[tuple[Any, ...], dtype[Any]] | str | dict[str, float] | dict[str, ((a: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> ndarray[tuple[Any, ...], dtype[DTypeFloat]]) | str]]) [no-matching-overload]
+ ERROR colour/recovery/meng2015.py:214:22-78: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((a: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, ndarray[tuple[Any, ...], dtype[DTypeFloat]], **dict[str, dict[str, ((a: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> ndarray[tuple[Any, ...], dtype[DTypeFloat]]) | str] | dict[str, float] | ndarray[tuple[Any, ...], dtype[Any]] | str]) [no-matching-overload]
- ERROR colour/temperature/cie_d.py:113:21-118:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/cie_d.py:113:21-118:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ERROR colour/temperature/hernandez1999.py:176:21-181:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]], CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=Unknown, args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/hernandez1999.py:176:21-181:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]], CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=Unknown, args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ERROR colour/temperature/kang2002.py:112:21-117:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/kang2002.py:112:21-117:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ERROR colour/temperature/krystek1985.py:117:21-122:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], uv: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/krystek1985.py:117:21-122:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], uv: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ERROR colour/temperature/mccamy1992.py:160:21-165:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]], CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=Unknown, args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/mccamy1992.py:160:21-165:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((xy: ndarray[tuple[Any, ...], dtype[DTypeFloat]], CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=Unknown, args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ERROR colour/temperature/planck1900.py:120:21-125:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], uv: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, str | dict[str, float]]) [no-matching-overload]
+ ERROR colour/temperature/planck1900.py:120:21-125:14: No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((CCT: ndarray[tuple[Any, ...], dtype[DTypeFloat]], uv: ndarray[tuple[Any, ...], dtype[DTypeFloat]]) -> DTypeFloat, x0=list[int], args=tuple[Any], **dict[str, dict[str, float] | str]) [no-matching-overload]
- ::error file=colour/recovery/mallett2019.py,line=209,col=22,endLine=211,endColumn=6,title=Pyrefly no-matching-overload::No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((...) -> Unknown, args=tuple[Unknown, ...], x0=ndarray[tuple[int], dtype[float64]], **dict[str, Bounds[tuple[int], float64] | list[LinearConstraint] | str | dict[str, float]])%0A Possible overloads:%0A (fun: (_Float1DT, ...) -> _Float1DT, x0: ToFloat, args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, jac: Literal['2-point', '3-point', 'cs', 0, False] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | numpy.bool[Literal[False]] | None = None, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> ToFloat, x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, jac: Literal['2-point', '3-point', 'cs', 0, False] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | numpy.bool[Literal[False]] | None = None, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult [closest match]%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> tuple[ToFloat, ToFloat1D], x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...], method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None, jac: ToTrue, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> tuple[ToFloat, ToFloat1D], x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, *, jac: ToTrue, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult
+ ::error file=colour/recovery/mallett2019.py,line=209,col=22,endLine=211,endColumn=6,title=Pyrefly no-matching-overload::No matching overload found for function `scipy.optimize._minimize.minimize` called with arguments: ((...) -> Unknown, args=tuple[Unknown, ...], x0=ndarray[tuple[int], dtype[float64]], **dict[str, Bounds[tuple[int], float64] | dict[str, float] | list[LinearConstraint] | str])%0A Possible overloads:%0A (fun: (_Float1DT, ...) -> _Float1DT, x0: ToFloat, args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, jac: Literal['2-point', '3-point', 'cs', 0, False] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | numpy.bool[Literal[False]] | None = None, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> ToFloat, x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, jac: Literal['2-point', '3-point', 'cs', 0, False] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | numpy.bool[Literal[False]] | None = None, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult [closest match]%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> tuple[ToFloat, ToFloat1D], x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...], method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None, jac: ToTrue, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult%0A (fun: (ndarray[tuple[int], dtype[float64]], ...) -> tuple[ToFloat, ToFloat1D], x0: Sequence[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any]] | _CanArrayND[floating_co] | numpy.bool[builtins.bool] | float | floating[Any] | integer[Any], args: tuple[object, ...] = ..., method: Literal['BFGS', 'CG', 'COBYLA', 'COBYQA', 'Dogleg', 'L-BFGS-B', 'Nelder-Mead', 'Newton-CG', 'Powell', 'SLSQP', 'TNC', 'Trust-Constr', 'Trust-Exact', 'Trust-Krylov', 'Trust-NCG', 'bfgs', 'cg', 'cobyla', 'cobyqa', 'dogleg', 'l-bfgs-b', 'nelder-mead', 'newton-cg', 'powell', 'slsqp', 'tnc', 'trust-constr', 'trust-exact', 'trust-krylov', 'trust-ncg'] | _MinimizeMethodFun | None = None, *, jac: ToTrue, hess: Literal['2-point', '3-point', 'cs'] | ((ndarray[tuple[int], dtype[float64]], ...) -> ToFloat2D) | HessianUpdateStrategy | None = None, hessp: ((ndarray[tuple[int], dtype[float64]], ndarray[tuple[int], dtype[float64]], ...) -> ToFloat1D) | None = None, bounds: Bounds[tuple[Any, ...], float64] | Sequence[tuple[numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None, numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None]] | None = None, constraints: Constraints = ..., tol: numpy.bool[builtins.bool] | float | floating[Any] | integer[Any] | None = None, callback: _CallbackResult | _CallbackVector | None = None, options: _MinimizeOptions | None = None) -> OptimizeResult
... (truncated 518 lines) ...``` |
samwgoldman
approved these changes
Feb 7, 2026
Member
samwgoldman
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Differential Revision: D92586637