You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rsscript: qualified cross-module value access; lock direct-fresh-call return
Implements the two docs/requests items:
- module-value-access (R2): resolve qualified `module.CONST` and
`module.Variant` in value position, without a per-symbol `use`. A constant
resolves to its module-mangled SCREAMING_SNAKE symbol; a variant resolves to
the bare variant (variant names are global, resolved through their sum type).
Tracks a new module_variants map and extends rewrite_expr's field-access path.
Not done (follow-up): glob `use module.*`, qualified variants in pattern
position, and cross-module same-name-variant disambiguation (needs variant
namespacing). Doc updated with resolution notes.
- freshness-direct-call-return (R1): already worked — a direct
`return <fresh-returning call>` is classified FreshCall. Added a pass fixture
covering direct/receiver/cross-module/wrapper shapes and updated the doc to
reflect that the general rule is implemented (the port's lone residual warning
is a narrower callee-resolution edge).
Tests: qualified_module_value_access integration test; fresh-direct-call-return
pass fixture. lib 111 / frontend 194 / lowering 225 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments