Skip to content

Use type references for better error messages when relating to a union type #24776

Closed

Description

When relating A<Foo> to A<Bar> | B<Baz> | C<Kwah>, if the check fails, it is highly likely that the user wants to see the elaboration from A<Foo> to A<Bar>, rather than for A<Foo> to B<Baz> or A<Foo> to C<Kwah>.

We should try to find candidates when source types are type references, and target types are unions.

As a real-world example, here's an error message where TypeScript had the chance to relate ComponentClass<...> to ComponentClass<...> | StatelessComponent<...>:

https://news.ycombinator.com/item?id=17244638

image

This should also work for if two types have a well-known type alias.

Vaguely related to #6541?

Activity

  1. changed the title [-]Use type references for better error messages when relating a type to a union type[/-] [+]Use type references for better error messages when relating to a union type[/+] on Jun 7, 2018
  2. locked as resolved and limited conversation to collaborators on Oct 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugA bug in TypeScriptDomain: Error MessagesThe issue relates to error messagingFixedA PR has been merged for this issue

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions