Repository navigation
fix(INT-OBJECT-01H): refuse deferred advertised class lookup - #258
Merged
Merged
Conversation
ellainng
changed the base branch from
test/INT-OBJECT-01G-construction-acceptance
to
main
October 27, 2026 02:35
This was referenced Oct 27, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Classes advertising a custom class could silently return incorrect attribute/isinstance results or an ordinary super TypeError, despite advertised identities remaining outside the finite construction contract. These required lookups now refuse before descriptor effects. Real type(value), successful actual-type checks and actual-subtype super binding remain valid.
Validation: five pinned reference cases distinguish four Future refusals and one adopted actual-type check; all 118 cases pass in Node/Chromium drain/step (472 observations, 456 zero teardowns). All 387 Node tests and 13 focused Python tests pass, including eight unchanged resource baselines. Offline acceptance passes 488 programs and 45 groups with 98 Stop/Restart cycles and explicit no-hook-effect checks. One concurrent Chromium worker startup failed; the isolated rerun passes. Refreshed source/receipt hashes and all 38 console files verify (593,610 bytes).
Depends on #256. Closes #257.