TypeScript Version: 2.1.4 and nightly(2.2.0-dev.20161213)
Code
interface Base {
foo: { [key: string]: any };
bar: any;
baz: any;
}
interface E1<T> extends Base {
foo: T;
}
interface Something { name: string, value: string };
interface E2 extends Base {
foo: Partial<Something>; // or other mapped type
}
interface E3<T> extends Base {
foo: Partial<T>; // or other mapped type
}
Expected behavior:
Successfully compiled.
Actual behavior:
E1 and E2 are OK, but E3 causes compile error.
error TS2430: Interface 'E3<T>' incorrectly extends interface 'Base'.
Types of property 'foo' are incompatible.
Type 'Partial<T>' is not assignable to type '{ [key: string]: any; }'.
TypeScript Version: 2.1.4 and nightly(2.2.0-dev.20161213)
Code
Expected behavior:
Successfully compiled.
Actual behavior:
E1 and E2 are OK, but E3 causes compile error.