Skip to content

Commit 8f6b733

Browse files
committed
Transfer all declared symbols onto the type from the interface that extends another
1 parent defe33a commit 8f6b733

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/compiler/checker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12583,7 +12583,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1258312583
const baseTypes = getBaseTypes(source);
1258412584
if (baseTypes.length) {
1258512585
if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
12586-
members = createSymbolTable(source.declaredProperties);
12586+
members = createSymbolTable(arrayFrom(members.values()));
1258712587
}
1258812588
setStructuredTypeMembers(type, members, callSignatures, constructSignatures, indexInfos);
1258912589
const thisArgument = lastOrUndefined(typeArguments);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
// https://github.com/microsoft/TypeScript/issues/55251
4+
5+
//// interface P {}
6+
//// interface B extends P {
7+
//// [k: string]: number;
8+
//// }
9+
//// declare const b: B;
10+
//// b.t/*1*/est = 10;
11+
12+
verify.quickInfoAt("1", "(index) B[string]: number");

0 commit comments

Comments
 (0)