Fix crash when TypedDict contains incorrect metadata#853
Merged
ofek merged 2 commits intojcrist:mainfrom Oct 20, 2025
Merged
Conversation
Fixes at least some of the failures reported in: jcrist#852 (comment) These were exposed by a bug in 3.14b1 where TypedDict reported incorrect `__annotations__` but correct `__required_keys__`. msgspec would crash in this case. The bug is reproducible on earlier Python versions by manually manipulating attributes on a TypedDict class. It's a pretty marginal bug but I would argue the extension should be robust to this sort of edge case.
hroncok
reviewed
May 26, 2025
manzt
pushed a commit
to marimo-team/msgspec
that referenced
this pull request
Nov 14, 2025
manzt
added a commit
to marimo-team/msgspec
that referenced
this pull request
Nov 14, 2025
* Fix crash when TypedDict contains incorrect metadata (jcrist#853) * Fix annotations support on 3.14 (jcrist#852) * Relax all getrefcount tests to allow lower numbers (jcrist#854) * Add 3.14 to CI (jcrist#888) * add free-threading support (jcrist#877) Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> * Enable Python 3.14 tests in CI Remove cp314-* from CIBW_TEST_SKIP to allow Python 3.14 tests to run. Previously, 3.14 wheels were built but tests were skipped. --------- Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Miro Hrončok <miro@hroncok.cz> Co-authored-by: Ofek Lev <ofekmeister@gmail.com> Co-authored-by: Kumar Aditya <kumaraditya@python.org>
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.
Fixes at least some of the failures reported in:
#852 (comment)
These were exposed by a bug in 3.14b1 where TypedDict reported
incorrect
__annotations__but correct__required_keys__. msgspecwould crash in this case. The bug is reproducible on earlier Python
versions by manually manipulating attributes on a TypedDict class.
It's a pretty marginal bug but I would argue the extension should
be robust to this sort of edge case.