Microsoft/TypeScript
Error message for invalid string literal type could be improved
Aberta
#10.203 aberto em 8 de ago. de 2016
Domain: Error MessagesEffort: ModerateExperience EnhancementHelp WantedSuggestion
Métricas do repositório
- Stars
- (108.860 estrelas)
- Métricas de merge de PR
- (Métricas PR pendentes)
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.