Skip to content

Show type alias name in union member errors#55604

Closed
elicwhite wants to merge 2 commits intofacebook:mainfrom
elicwhite:export-D93262589
Closed

Show type alias name in union member errors#55604
elicwhite wants to merge 2 commits intofacebook:mainfrom
elicwhite:export-D93262589

Conversation

@elicwhite
Copy link
Member

Summary:
When reporting added/removed union members of type TypeAliasTypeAnnotation, the error message showed the generic type kind "TypeAliasTypeAnnotation" instead of the actual alias name (e.g., "ObjectC"). This adds a case to getTypeAnnotationLabel to return the alias name for TypeAliasTypeAnnotation, producing clearer error messages like "Member ObjectC" instead of "Member TypeAliasTypeAnnotation".

Changelog: [Internal]

Differential Revision: D93262589

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Feb 18, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 18, 2026

@elicwhite has exported this pull request. If you are a Meta employee, you can view the originating Diff in D93262589.

Summary:

TypeAliasTypeAnnotation members in unions were all treated as equal (returning 0) by the sort comparator, which meant the merge-based comparison in compareUnionMemberArrays could not distinguish between different type aliases like ObjectA, ObjectB, and ObjectC. This caused it to compare them positionally instead of by identity, misreporting added/removed union members as type mismatches. The fix compares TypeAliasTypeAnnotation by name, similar to how StringLiteralTypeAnnotation compares by value, allowing the merge algorithm to correctly identify which members were added or removed.

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D93262588
Summary:

When reporting added/removed union members of type TypeAliasTypeAnnotation, the error message showed the generic type kind "TypeAliasTypeAnnotation" instead of the actual alias name (e.g., "ObjectC"). This adds a case to getTypeAnnotationLabel to return the alias name for TypeAliasTypeAnnotation, producing clearer error messages like "Member ObjectC" instead of "Member TypeAliasTypeAnnotation".

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D93262589
@meta-codesync meta-codesync bot closed this in 9fdaac3 Feb 20, 2026
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Feb 20, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 20, 2026

This pull request has been merged in 9fdaac3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants