Microsoft/TypeScript

Bug with resolveClassOrInterfaceMembers

Open

#3,539 opened on Jun 17, 2015

View on GitHub
 (8 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
Help WantedSuggestion

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

https://github.com/Microsoft/TypeScript/blob/6db4faf4883636e70ef7a99401b9dbc5d1a58631/src/compiler/checker.ts#L2894

interface monster {
    (a: "a"): void;
    (b: "b"): void;
    (c: "c"): void;
    (d: "d"): void;
    (e: "e"): void;
    (x: string): void;
}

interface m1 extends monster {
    a();
}
interface m2 extends monster {
    b();
}
interface m3 extends monster { }
interface m4 extends monster { }

interface m5 extends m1, m2, m3, m4 { }

var waa: m5;
waa("a")

The compiler finds 24 call expressions because it appends 'monster' from each base type.

Contributor guide