Open
Description
@ahejlsberg Probably #29740 made this regression.
TypeScript Version: 3.4.0-dev.20190207
Search Terms:
Code
type DeepReadonly<T> =
T extends void ? T :
{ readonly [P in keyof T]: DeepReadonly<T[P]>; };
type m = { a: unknown }; // Also unknown[].
type i = DeepReadonly<m>;
Expected behavior:
i
is { readonly a: unknown; }
.
Actual behavior:
i
is { readonly a: {}; }
.
Playground Link:
Related Issues: