Skip to content

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

Closed
@DanielRosenwasser

Description

@DanielRosenwasser

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?

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