19 lines
789 B
Plaintext
19 lines
789 B
Plaintext
==== tests/cases/compiler/specializedSignatureOverloadReturnTypeWithIndexers.ts (1 errors) ====
|
|
interface A {
|
|
f(p: string): { [p: string]: string; };
|
|
f(p: "spec"): { [p: string]: any; } // Should be ok
|
|
}
|
|
interface B {
|
|
f(p: string): { [p: number]: string; };
|
|
f(p: "spec"): { [p: string]: any; } // Should be ok
|
|
}
|
|
interface C {
|
|
f(p: string): { [p: number]: string; };
|
|
f(p: "spec"): { [p: number]: any; } // Should be ok
|
|
}
|
|
interface D {
|
|
f(p: string): { [p: string]: string; };
|
|
f(p: "spec"): { [p: number]: any; } // Should be error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature.
|
|
} |