15 lines
No EOL
956 B
Text
15 lines
No EOL
956 B
Text
==== tests/cases/compiler/assignmentCompatFunctionsWithOptionalArgs.ts (3 errors) ====
|
|
function foo(x: { id: number; name?: string; }): void;
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! Function implementation expected.
|
|
foo({ id: 1234 }); // Ok
|
|
foo({ id: 1234, name: "hello" }); // Ok
|
|
foo({ id: 1234, name: false }); // Error, name of wrong type
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! Argument of type '{ id: number; name: boolean; }' is not assignable to parameter of type '{ id: number; name?: string; }'.
|
|
!!! Types of property 'name' are incompatible:
|
|
!!! Type 'boolean' is not assignable to type 'string'.
|
|
foo({ name: "hello" }); // Error, id required but missing
|
|
~~~~~~~~~~~~~~~~~
|
|
!!! Argument of type '{ name: string; }' is not assignable to parameter of type '{ id: number; name?: string; }'.
|
|
!!! Property 'id' is missing in type '{ name: string; }'. |