|
| 1 | +tests/cases/compiler/classImplementsMethodWIthTupleArgs.ts(2,5): error TS2416: Property 'set' in type 'MySettable' is not assignable to the same property in base type 'Settable'. |
| 2 | + Type '{ (option: Record<string, unknown>): void; (name: string, value: unknown): void; }' is not assignable to type '(...args: [option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]) => void'. |
| 3 | + Types of parameters 'option' and 'args' are incompatible. |
| 4 | + Type '[option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]' is not assignable to type 'readonly [option: Record<string, unknown>]'. |
| 5 | + Type '[name: string, value: unknown]' is not assignable to type 'readonly [option: Record<string, unknown>]'. |
| 6 | + Source has 2 element(s) but target allows only 1. |
| 7 | +tests/cases/compiler/classImplementsMethodWIthTupleArgs.ts(3,5): error TS2416: Property 'set' in type 'MySettable' is not assignable to the same property in base type 'Settable'. |
| 8 | + Type '{ (option: Record<string, unknown>): void; (name: string, value: unknown): void; }' is not assignable to type '(...args: [option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]) => void'. |
| 9 | + |
| 10 | + |
| 11 | +==== tests/cases/compiler/classImplementsMethodWIthTupleArgs.ts (2 errors) ==== |
| 12 | + declare class MySettable implements Settable { |
| 13 | + set(option: Record<string, unknown>): void; |
| 14 | + ~~~ |
| 15 | +!!! error TS2416: Property 'set' in type 'MySettable' is not assignable to the same property in base type 'Settable'. |
| 16 | +!!! error TS2416: Type '{ (option: Record<string, unknown>): void; (name: string, value: unknown): void; }' is not assignable to type '(...args: [option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]) => void'. |
| 17 | +!!! error TS2416: Types of parameters 'option' and 'args' are incompatible. |
| 18 | +!!! error TS2416: Type '[option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]' is not assignable to type 'readonly [option: Record<string, unknown>]'. |
| 19 | +!!! error TS2416: Type '[name: string, value: unknown]' is not assignable to type 'readonly [option: Record<string, unknown>]'. |
| 20 | +!!! error TS2416: Source has 2 element(s) but target allows only 1. |
| 21 | + set(name: string, value: unknown): void; |
| 22 | + ~~~ |
| 23 | +!!! error TS2416: Property 'set' in type 'MySettable' is not assignable to the same property in base type 'Settable'. |
| 24 | +!!! error TS2416: Type '{ (option: Record<string, unknown>): void; (name: string, value: unknown): void; }' is not assignable to type '(...args: [option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]) => void'. |
| 25 | + } |
| 26 | + |
| 27 | + interface Settable { |
| 28 | + set(...args: [option: Record<string, unknown>] | [name: string, value: unknown] | [name: string]): void; |
| 29 | + } |
| 30 | + |
0 commit comments