|
|
|
|
@@ -5,9 +5,8 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(17,5): error TS23
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(18,9): error TS2322: Type 'T' is not assignable to type 'string'.
|
|
|
|
|
Type 'string | undefined' is not assignable to type 'string'.
|
|
|
|
|
Type 'undefined' is not assignable to type 'string'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(24,5): error TS2322: Type 'Partial<T>[keyof T]' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
Type 'undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(24,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
Type 'undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(29,5): error TS2322: Type 'T["x"]' is not assignable to type 'NonNullable<T["x"]>'.
|
|
|
|
|
Type 'string | undefined' is not assignable to type 'NonNullable<T["x"]>'.
|
|
|
|
|
Type 'undefined' is not assignable to type 'NonNullable<T["x"]>'.
|
|
|
|
|
@@ -17,65 +16,25 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(30,9): error TS23
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(103,5): error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>' is not assignable to type 'T'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(104,5): error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]>' is not assignable to type 'T'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(106,5): error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]>' is not assignable to type 'Pick<T, { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
Type 'string' is not assignable to type 'never'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
Type 'string' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(108,5): error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>' is not assignable to type 'Pick<T, { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]>'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(114,5): error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(115,5): error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
Type 'string' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(116,5): error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(117,5): error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(114,5): error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(115,5): error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
Type 'string' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(116,5): error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(117,5): error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(134,10): error TS2540: Cannot assign to 'id' because it is a constant or a read-only property.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(135,5): error TS2542: Index signature in type 'DeepReadonlyArray<Part>' only permits reading.
|
|
|
|
|
tests/cases/conformance/types/conditional/conditionalTypes1.ts(136,22): error TS2540: Cannot assign to 'id' because it is a constant or a read-only property.
|
|
|
|
|
@@ -129,9 +88,8 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(288,43): error TS
|
|
|
|
|
x = y;
|
|
|
|
|
y = x; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type 'Partial<T>[keyof T]' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable<Partial<T>[keyof T]>'.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function f4<T extends { x: string | undefined }>(x: T["x"], y: NonNullable<T["x"]>) {
|
|
|
|
|
@@ -228,38 +186,16 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(288,43): error TS
|
|
|
|
|
y = z; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]>' is not assignable to type 'Pick<T, { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'never'.
|
|
|
|
|
z = x;
|
|
|
|
|
z = y; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type 'Pick<T, { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>' is not assignable to type 'Pick<T, { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]>'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function f8<T>(x: keyof T, y: FunctionPropertyNames<T>, z: NonFunctionPropertyNames<T>) {
|
|
|
|
|
@@ -267,42 +203,24 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(288,43): error TS
|
|
|
|
|
x = z;
|
|
|
|
|
y = x; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
y = z; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'never'.
|
|
|
|
|
z = x; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
z = y; // Error
|
|
|
|
|
~
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type '{ [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type '{ [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
!!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'.
|
|
|
|
|
!!! error TS2322: Type 'keyof T' is not assignable to type 'never'.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type DeepReadonly<T> =
|
|
|
|
|
|