Microsoft/TypeScript

Bug with resolveClassOrInterfaceMembers

Open

#3,539 opened on 2015年6月17日

GitHub で見る
 (8 comments) (0 reactions) (0 assignees)TypeScript (48,455 stars) (6,726 forks)batch import
Help WantedSuggestion

説明

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.

コントリビューターガイド