Closed
Description
TypeScript Version: 4.0.2
Search Terms: signature void parameter optional assignability
Code
declare function f(a: number, b?: void): void;
declare function g(a: number, b: void): void;
f(1); // ok
g(1); // ok
let ff: (a: number) => void = f; // ok
let gg: (a: number) => void = g; // error
Expected behavior:
g
should be assignable to gg
since we treat void
parameters as optional.
Actual behavior:
g
is not assignable to gg
.
Playground Link: link
Metadata
Metadata
Assignees
Labels
No labels