Microsoft/TypeScript
Voir sur GitHubError message for invalid string literal type could be improved
Open
#10 203 ouverte le 8 août 2016
Domain: Error MessagesEffort: ModerateExperience EnhancementHelp WantedSuggestion
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
TypeScript Version: 2.0 Beta
Code
// A *self-contained* demonstration of the problem follows...
interface Foo {
method(value: 'aa'): void;
method(value: 'bb'): void;
method(value: 'zz'): void;
method(value: 'last'): void;
}
const x: Foo = {} as any;
x.method('bar'); // Error line
Expected behavior:
A more meaningful error message, e.g.
Argument of type "'bar'" is not assignable to parameter of type "'aa' | 'bb'|...|'last'"
Actual behavior:
Argument of type "'bar'" is not assignable to parameter of type "'last'"
I am finding this error message confusing, because the compiler picks the value of the last overload in order to report the error, and there is nothing special about the last value.