Skip to content

Conversation

@jvansch1
Copy link

Summary:
Up until 3.10 typing_extensions defined ParamSpec locally. Starting in 3.10 and greater typing extensions instead re-exports ParamSpec from typing.

I believe this may have been the issue causing this test to fail. All the flaky tests we have seen on Windows have been features that have been gated by specific versions.

In order to account for this, we can always trying getting ParamSpec from typing_extensions since it will always be available there.

Reviewed By: kinto0

Differential Revision: D90777432

Summary:
Up until 3.10 typing_extensions defined ParamSpec locally. Starting in 3.10 and greater typing extensions instead re-exports ParamSpec from typing.

I believe this may have been the issue causing this test to fail. All the flaky tests we have seen on Windows have been features that have been gated by specific versions.

In order to account for this, we can always trying getting ParamSpec from typing_extensions since it will always be available there.

Reviewed By: kinto0

Differential Revision: D90777432
Copy link
Contributor

@kinto0 kinto0 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.

@meta-codesync
Copy link

meta-codesync bot commented Jan 15, 2026

@jvansch1 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D90777432.

@github-actions
Copy link

Diff from mypy_primer, showing the effect of this PR on open source code:

pandas (https://github.com/pandas-dev/pandas)
- ::error file=pandas/core/indexing.py,line=1470,col=9,endLine=1470,endColumn=28,title=Pyrefly bad-override::Class member `_LocIndexer._convert_to_indexer` overrides parent class `_LocationIndexer` in an inconsistent manner%0A  `_LocIndexer._convert_to_indexer` has type `BoundMethod[_LocIndexer, (self: _LocIndexer, key: Unknown, axis: int) -> int | ndarray[tuple[int], dtype[Any]] | ndarray[tuple[Any, ...], dtype[signedinteger[_NBitIntP]]] | ndarray[tuple[Any, ...], dtype[Any]] | slice[int, int, Any] | slice[Any, Any, Any] | dict[str, int | integer[Any]] | dict[str, tuple[Unknown, ...]] | dict[str, Unknown] | Unknown]`, which is not assignable to `BoundMethod[_LocIndexer, (self: _LocIndexer, key: Unknown, axis: int) -> Never]`, the type of `_LocationIndexer._convert_to_indexer`
+ ::error file=pandas/core/indexing.py,line=1470,col=9,endLine=1470,endColumn=28,title=Pyrefly bad-override::Class member `_LocIndexer._convert_to_indexer` overrides parent class `_LocationIndexer` in an inconsistent manner%0A  `_LocIndexer._convert_to_indexer` has type `BoundMethod[_LocIndexer, (self: _LocIndexer, key: Unknown, axis: int) -> ndarray[tuple[Any, ...], dtype[signedinteger[_NBitIntP]]] | ndarray[tuple[Any, ...], dtype[Any]] | dict[str, int | integer[Any]] | dict[str, tuple[Unknown, ...]] | dict[str, Unknown] | Unknown]`, which is not assignable to `BoundMethod[_LocIndexer, (self: _LocIndexer, key: Unknown, axis: int) -> Never]`, the type of `_LocationIndexer._convert_to_indexer`

@meta-codesync
Copy link

meta-codesync bot commented Jan 15, 2026

This pull request has been merged in afc0ecb.

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.

3 participants