Skip to content

promote anonymous typed dicts when unioning#2351

Open
yangdanny97 wants to merge 2 commits intofacebook:mainfrom
yangdanny97:export-D92586637
Open

promote anonymous typed dicts when unioning#2351
yangdanny97 wants to merge 2 commits intofacebook:mainfrom
yangdanny97:export-D92586637

Conversation

@yangdanny97
Copy link
Contributor

Differential Revision: D92586637

@meta-cla meta-cla bot added the cla signed label Feb 7, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 7, 2026

@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
yangdanny97 added a commit to yangdanny97/pyrefly that referenced this pull request Feb 7, 2026
Summary: Pull Request resolved: facebook#2351

Differential Revision: D92586637
samwgoldman and others added 2 commits February 6, 2026 19:19
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
@github-actions
Copy link

github-actions bot commented Feb 7, 2026

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) ...```

Copy link
Member

@samwgoldman samwgoldman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants