diff --git a/tests/cases/conformance/types/conditional/conditionalTypes1.ts b/tests/cases/conformance/types/conditional/conditionalTypes1.ts index 9449cc6d766..3ef044625eb 100644 --- a/tests/cases/conformance/types/conditional/conditionalTypes1.ts +++ b/tests/cases/conformance/types/conditional/conditionalTypes1.ts @@ -66,7 +66,7 @@ type TypeName = type T20 = TypeName void)>; // "string" | "function" type T21 = TypeName; // "string" | "number" | "boolean" | "undefined" | "function" | "object" -type T22 = TypeName; // "string" | "number" | "boolean" | "undefined" | "function" | "object" +type T22 = TypeName; // never type T23 = TypeName<{}>; // "object" type KnockoutObservable = { object: T }; @@ -174,7 +174,7 @@ type IsString = Extends; type Q1 = IsString; // false type Q2 = IsString<"abc">; // true type Q3 = IsString; // boolean -type Q4 = IsString; // boolean +type Q4 = IsString; // never type N1 = Not; // true type N2 = Not; // false @@ -202,9 +202,9 @@ type O9 = Or; // boolean type T40 = never extends never ? true : false; // true type T41 = number extends never ? true : false; // false -type T42 = never extends number ? true : false; // boolean +type T42 = never extends number ? true : false; // true -type IsNever = T extends never ? true : false; +type IsNever = [T] extends [never] ? true : false; type T50 = IsNever; // true type T51 = IsNever; // false diff --git a/tests/cases/conformance/types/conditional/inferTypes1.ts b/tests/cases/conformance/types/conditional/inferTypes1.ts index 15f86c751d7..671d68c3247 100644 --- a/tests/cases/conformance/types/conditional/inferTypes1.ts +++ b/tests/cases/conformance/types/conditional/inferTypes1.ts @@ -30,13 +30,13 @@ type T12 = ReturnType<(() => T)>; // {} type T13 = ReturnType<(() => T)>; // number[] type T14 = ReturnType; // { a: number, b: string } type T15 = ReturnType; // any -type T16 = ReturnType; // any +type T16 = ReturnType; // never type T17 = ReturnType; // Error type T18 = ReturnType; // Error type U10 = InstanceType; // C type U11 = InstanceType; // any -type U12 = InstanceType; // any +type U12 = InstanceType; // never type U13 = InstanceType; // Error type U14 = InstanceType; // Error @@ -49,7 +49,7 @@ type T23 = ArgumentType<(...args: string[]) => number>; // string type T24 = ArgumentType<(x: string, y: string) => number>; // Error type T25 = ArgumentType; // Error type T26 = ArgumentType; // any -type T27 = ArgumentType; // any +type T27 = ArgumentType; // never type X1 = T extends { x: infer X, y: infer Y } ? [X, Y] : any;