GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-105237: Allow calling `issubclass(X, typing.Protocol)` again by AlexWaygood · Pull Request #105239 · python/cpython

Conversation

@AlexWaygood

@AlexWaygood AlexWaygood commented Jun 2, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member
  • Issue: Cannot call issubclass() against typing.Protocol on Python 3.12 #105237

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@AlexWaygood
Allow calling issubclass(X, Protocol)
a6b11b0
@AlexWaygood AlexWaygood added type-bug An unexpected behavior, bug, or error skip news stdlib Standard Library Python modules in the Lib/ directory topic-typing needs backport to 3.12 only security fixes labels Jun 2, 2023
@AlexWaygood
AlexWaygood requested review from Fidget-Spinner, JelleZijlstra and gvanrossum as code owners June 2, 2023 13:31
@bedevere-bot bedevere-bot added the awaiting core review label Jun 2, 2023
@bedevere-bot bedevere-bot mentioned this pull request Jun 2, 2023
Cannot call issubclass() against typing.Protocol on Python 3.12 #105237
Closed
AlexWaygood
AlexWaygood commented Jun 2, 2023
View reviewed changes
Comment thread Lib/test/test_typing.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@AlexWaygood AlexWaygood changed the title gh-105237: Allow calling issubclass(X, Protocol) again gh-105237: Allow calling issubclass(X, typing.Protocol) again Jun 2, 2023
JelleZijlstra
JelleZijlstra reviewed Jun 2, 2023
View reviewed changes
Comment thread Lib/typing.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

AlexWaygood added 3 commits June 2, 2023 14:42
@AlexWaygood
Add back some implementation details so we don't unnecessarily break …
36b2ac9
…people
@AlexWaygood
Revert unnecessary changes to tests
db51c8d
@AlexWaygood
Fix longstanding bug and add many tests
776bf2b
@AlexWaygood
AlexWaygood requested a review from JelleZijlstra June 2, 2023 14:09
@AlexWaygood
Small micro-optimisation
ffb7f1c
@AlexWaygood AlexWaygood added the DO-NOT-MERGE label Jun 2, 2023
AlexWaygood
AlexWaygood commented Jun 2, 2023
View reviewed changes
Comment thread Lib/typing.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@AlexWaygood
Cleaner solution
b85a320
@AlexWaygood AlexWaygood removed skip news DO-NOT-MERGE labels Jun 3, 2023
@AlexWaygood

AlexWaygood commented Jun 4, 2023

Copy link
Copy Markdown
Member Author

I've run the third-party tests we have at typing_extensions on a version of this PR. In combination with #105281, this causes no regressions.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@AlexWaygood AlexWaygood mentioned this pull request Jun 4, 2023
Backport recent fixes to Protocol from 3.12 python/typing_extensions#218
Merged
JelleZijlstra
JelleZijlstra approved these changes Jun 5, 2023
View reviewed changes
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Jun 5, 2023
@JelleZijlstra
JelleZijlstra merged commit cdfb201 into python:main Jun 5, 2023
@miss-islington

miss-islington commented Jun 5, 2023

Copy link
Copy Markdown
Contributor

Thanks @AlexWaygood for the PR, and @JelleZijlstra for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the awaiting merge label Jun 5, 2023
@miss-islington

miss-islington commented Jun 5, 2023

Copy link
Copy Markdown
Contributor

Sorry @AlexWaygood and @JelleZijlstra, I had trouble checking out the 3.12 backport branch.
Please retry by removing and re-adding the "needs backport to 3.12" label.
Alternatively, you can backport using cherry_picker on the command line.
cherry_picker cdfb201bfa35b7c50de5099c6d9078c806851d98 3.12

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington miss-islington assigned JelleZijlstra Jun 5, 2023
@JelleZijlstra JelleZijlstra added needs backport to 3.12 only security fixes and removed needs backport to 3.12 only security fixes labels Jun 5, 2023
@miss-islington

miss-islington commented Jun 5, 2023

Copy link
Copy Markdown
Contributor

Thanks @AlexWaygood for the PR, and @JelleZijlstra for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jun 5, 2023
@AlexWaygood @miss-islington
pythongh-105237: Allow calling issubclass(X, typing.Protocol) again (…
f45b5d7
…pythonGH-105239)

(cherry picked from commit cdfb201)

Co-authored-by: Alex Waygood <[email protected]>
@bedevere-bot

bedevere-bot commented Jun 5, 2023

Copy link
Copy Markdown

GH-105316 is a backport of this pull request to the 3.12 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the needs backport to 3.12 only security fixes label Jun 5, 2023
@AlexWaygood
AlexWaygood deleted the protocol-subclass-regression branch June 5, 2023 13:37
AlexWaygood added a commit that referenced this pull request Jun 5, 2023
@miss-islington @AlexWaygood
[3.12] gh-105237: Allow calling issubclass(X, typing.Protocol) again (
5175026
GH-105239) (#105316)

gh-105237: Allow calling `issubclass(X, typing.Protocol)` again (GH-105239)
(cherry picked from commit cdfb201)

Co-authored-by: Alex Waygood <[email protected]>
@erlend-aasland erlend-aasland mentioned this pull request Jun 6, 2023
3.12 backport gh 105236 #105358
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JelleZijlstra JelleZijlstra JelleZijlstra approved these changes
@gvanrossum gvanrossum Awaiting requested review from gvanrossum
@Fidget-Spinner Fidget-Spinner Awaiting requested review from Fidget-Spinner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@JelleZijlstra JelleZijlstra

Labels

stdlib Standard Library Python modules in the Lib/ directory topic-typing type-bug An unexpected behavior, bug, or error

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@AlexWaygood @miss-islington @bedevere-bot @JelleZijlstra
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.