Skip to content

parameter specification variance#2215

Open
KotlinIsland wants to merge 2 commits intopython:mainfrom
KotlinIsland:paramspec-variance
Open

parameter specification variance#2215
KotlinIsland wants to merge 2 commits intopython:mainfrom
KotlinIsland:paramspec-variance

Conversation

@KotlinIsland
Copy link
Copy Markdown
Contributor

@KotlinIsland KotlinIsland force-pushed the paramspec-variance branch 3 times, most recently from 5f8e0cc to d9d82c9 Compare March 9, 2026 03:13
@srittau srittau added the topic: typing spec For improving the typing spec label Mar 9, 2026
@KotlinIsland KotlinIsland force-pushed the paramspec-variance branch 2 times, most recently from 81ba400 to 54ad5e1 Compare April 1, 2026 07:59
Copy link
Copy Markdown
Member

@JelleZijlstra JelleZijlstra left a comment

Choose a reason for hiding this comment

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

I like adding this if we can get it specified nicely, but this PR is not ready; the proposed test is incorrect.

Also, https://typing.python.org/en/latest/spec/generics.html#paramspec-variables still says variance on ParamSpec is unsupported; this should be updated.

I'd also like to see an implementation in at least one type checker, even if only as a draft PR, so we can be confident this is something that can be feasibly implemented.

@davidhalter
Copy link
Copy Markdown
Contributor

I personally would also like to see tests added for param spec variance inference, since that would probably need to be supported as well.

@JelleZijlstra
Copy link
Copy Markdown
Member

The test cases do have variance inference, though as I noted some of the cases are wrong. But it would probably be useful to have a few more cases, and I'd recommend putting the tests for paramspec variance in their own file so we can track type checker support more precisely.

@KotlinIsland
Copy link
Copy Markdown
Contributor Author

KotlinIsland commented Apr 3, 2026

I'd also like to see an implementation in at least one type checker

I have wip support in PyCharm, but I could also add it to basedpyright

it was very straightforward to implement

@davidhalter
Copy link
Copy Markdown
Contributor

davidhalter commented Apr 3, 2026

The test cases do have variance inference, though as I noted some of the cases are wrong. But it would probably be useful to have a few more cases, and I'd recommend putting the tests for paramspec variance in their own file so we can track type checker support more precisely.

Oh right, sorry I didn't see them, because I thought they would be in a different file. I'm also very much +1 on putting those tests into a different file (for example generics_paramspec_variance.py).

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

Labels

topic: typing spec For improving the typing spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants