Narrow by constant element access callees#62314
Narrow by constant element access callees#62314Andarist wants to merge 1 commit intomicrosoft:mainfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements support for narrowing by type predicates when using element access expressions with constant arguments, addressing issue #62247. The fix allows TypeScript to properly narrow types when calling type predicate methods through computed property access with symbol keys.
Key Changes:
- Enhanced type narrowing logic to support element access expressions with constant arguments in addition to property access expressions
- Added comprehensive test coverage for the new functionality
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/compiler/checker.ts |
Updated type narrowing condition to include element access expressions with constant arguments |
src/compiler/binder.ts |
Extended narrowable reference detection to support element access expressions |
tests/cases/compiler/narrowByTypePredicateFromElementAccessExpression1.ts |
Added test case demonstrating type narrowing with symbol-based element access |
tests/baselines/reference/narrowByTypePredicateFromElementAccessExpression1.types |
Generated baseline showing expected type information |
tests/baselines/reference/narrowByTypePredicateFromElementAccessExpression1.symbols |
Generated baseline showing expected symbol resolution |
Comments suppressed due to low confidence (1)
|
With 6.0 out as the final release vehicle for this codebase, we're closing all PRs that don't fit the merge criteria for post-6.0 patches. If you think this was a mistake and this PR fits the post-6.0 patch criteria, please post to the 6.0 iteration issue with details (specifically, which PR and which patch criteria it satisfies). Next steps for PRs:
|
fixes #62247