-
Notifications
You must be signed in to change notification settings - Fork 19
builtins: type-creation and product validation, generic-alias and struct rooting, SimpleNamespace and UnionType parity #923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
b8aa2f5
call: reject non-type entries in find_best_base
youknowone 6591326
itertools: validate the product subtype before reading any argument
youknowone df73f80
generic alias: root subs_parameters owners and results across substit…
youknowone 2d1f324
struct: root iter_unpack buffer lease
youknowone 7ff52c9
types: complete SimpleNamespace 3.14 parity
youknowone 74a1fd5
types: expose UnionType special methods
youknowone 8ed057b
itertools: run the product subtype check after the keyword census
youknowone 8da15a7
call, baseobjspace: walk a classic base through abstract_mro
youknowone ec89b9d
types: root the union substitution fold across each __or__
youknowone 57b8f38
struct: reread the iter_unpack roots after the buffer hooks
youknowone 465bcf4
baseobjspace: walk classic bases at compute_mro, not at the pre-flight
youknowone f8289fb
types: reread the SimpleNamespace __replace__ result across each update
youknowone 3c23487
types: root the nascent type and MRO snapshots across type creation
youknowone 6f32383
types: give UnionType __repr__, __hash__ and __mro_entries__ a fixed …
youknowone 7fd56b5
generic alias: expose the 3.14 slot method surface
youknowone a231d3a
types: root the bases tuple and reject a foreign __replace__ receiver
youknowone File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For a non-type base graph containing distinct nodes that compare equal, this identity test diverges from PyPy's literal
klass not in mro, which invokes Python equality. For example, if a child compares equal to an already visited pseudo-class but lacks__bases__, PyPy skips the child while this implementation visits it and raisesAttributeError; custom equality side effects are also lost. Use the app-level membership semantics of the upstream walk rather than pointer identity.AGENTS.md reference: AGENTS.md:L195-L195
Useful? React with 👍 / 👎.