Infer filter as a mixed readonly array method#36392
Open
raashish1601 wants to merge 1 commit intofacebook:mainfrom
Open
Infer filter as a mixed readonly array method#36392raashish1601 wants to merge 1 commit intofacebook:mainfrom
raashish1601 wants to merge 1 commit intofacebook:mainfrom
Conversation
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.
Summary
.filterproperty loads as the MixedReadonly array method shape.filteruseMemoWhy
When
itemscomes from untyped props,items.filterwas inferred as a generic function, so the local-mutation validator treated the callback as potentially escaping through the filtered result. The MixedReadonly model already defines.filteras a built-in array method withnoAlias; this change lets that model apply to.filterproperty loads from untyped values.Fixes #31569.
Test Plan
corepack yarn workspace snap run snap --update --pattern local-mutation-in-filter-usememo --synccorepack yarn workspace snap run snap --pattern local-mutation-in-filter-usememo --synccorepack yarn workspace babel-plugin-react-compiler run lint -- --quietcorepack yarn prettierNote:
corepack yarn workspace snap run snap --pattern "{local-mutation-in-filter-usememo,noAlias-filter-on-array-prop}" --syncshowed the new fixture passing;noAlias-filter-on-array-proponly failed on CRLF/LF snapshot text in this Windows checkout with identical generated code.