Microsoft/TypeScript

Suggestion: output fewer errors for incorrectly implemented interface

Open

#10.077 aberto em 1 de ago. de 2016

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)TypeScript (6.726 forks)batch import
Effort: DifficultHelp WantedSuggestion

Métricas do repositório

Stars
 (48.455 stars)
Métricas de merge de PR
 (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)

Description

TypeScript Version: nightly

Code

interface A {
    f(): void;
}
class B implements A {
    eff() {}
}

var b: B;
b.f();
b.f();
b.f();

Expected behavior:

src/a.ts(4,7): error TS2420: Class 'B' incorrectly implements interface 'A'.
  Property 'f' is missing in type 'B'.

Actual behavior:

src/a.ts(4,7): error TS2420: Class 'B' incorrectly implements interface 'A'.
  Property 'f' is missing in type 'B'.
src/a.ts(9,3): error TS2339: Property 'f' does not exist on type 'B'.
src/a.ts(10,3): error TS2339: Property 'f' does not exist on type 'B'.
src/a.ts(11,3): error TS2339: Property 'f' does not exist on type 'B'.

There can be an overwhelming number of missing-property errors if a commonly-used class mis-implements an interface it declares.

Guia do colaborador