fix(types): skip ForwardRef resolution for unannotated attribute probes - #6929
fix(types): skip ForwardRef resolution for unannotated attribute probes#6929benedikt-bartscher wants to merge 4 commits into
Conversation
Greptile SummaryThe PR avoids resolving unrelated forward references when probing unannotated attributes.
Confidence Score: 4/5The PR is not yet safe to merge because the annotation-name snapshot remains stale when annotations change after the first probe. The cached MRO annotation names have no invalidation path, while Files Needing Attention: packages/reflex-base/src/reflex_base/utils/compat.py, packages/reflex-base/src/reflex_base/utils/types.py
|
| Filename | Overview |
|---|---|
| packages/reflex-base/src/reflex_base/utils/compat.py | Adds MRO-wide annotation-name discovery with Python 3.14 lazy-annotation support. |
| packages/reflex-base/src/reflex_base/utils/types.py | Gates type-hint resolution on whether the requested attribute is declared in the class MRO. |
| tests/units/test_attribute_access_type.py | Adds regression tests for unannotated probes, unresolved forward references, and Python 3.14 lazy annotations. |
| packages/reflex-base/news/+annotation-probe-guard.bugfix.md | Documents the attribute-probe and lazy-annotation fix. |
Reviews (4): Last reviewed commit: "Merge remote-tracking branch 'upstream/m..." | Re-trigger Greptile
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
All reported issues were addressed across 5 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Uh oh!
There was an error while loading. Please reload this page.