Skip to content

Show type alias name in union member errors#55604

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

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
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 meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments