diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types index 9a10984a522..9d4d49ba2fd 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -46,7 +46,7 @@ var r = true ? 1 : 2; >2 : 2 var r3 = true ? 1 : {}; ->r3 : {} +>r3 : number | {} >true ? 1 : {} : 1 | {} >true : true >1 : 1 diff --git a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types index a9767c72fc7..e9b527860d4 100644 --- a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types +++ b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types @@ -63,7 +63,7 @@ true ? { a: 1 } : { a: 2, b: 'string' }; >'string' : "string" var result2 = true ? {} : 1; ->result2 : {} +>result2 : number | {} >true ? {} : 1 : 1 | {} >true : true >{} : {} @@ -143,7 +143,7 @@ true ? { a: 2, b: 'string' } : { a: 1 }; >1 : 1 var result6 = true ? 1 : {}; ->result6 : {} +>result6 : number | {} >true ? 1 : {} : 1 | {} >true : true >1 : 1 diff --git a/tests/baselines/reference/heterogeneousArrayLiterals.types b/tests/baselines/reference/heterogeneousArrayLiterals.types index 2655f7c2d71..51d965b444c 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.types +++ b/tests/baselines/reference/heterogeneousArrayLiterals.types @@ -21,13 +21,13 @@ var c = [1, '', null]; // {}[] >null : null var d = [{}, 1]; // {}[] ->d : {}[] +>d : (number | {})[] >[{}, 1] : (number | {})[] >{} : {} >1 : 1 var e = [{}, Object]; // {}[] ->e : {}[] +>e : (ObjectConstructor | {})[] >[{}, Object] : (ObjectConstructor | {})[] >{} : {} >Object : ObjectConstructor diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 5166ceb54d7..0caef49f439 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -295,7 +295,7 @@ function conditionalSpreadBoolean(b: boolean) : { x: number, y: number } { >14 : 14 } let o2 = { ...b && { x: 21 }} ->o2 : {} +>o2 : {} | { x: number; } >{ ...b && { x: 21 }} : {} | { x: number; } >b && { x: 21 } : false | { x: number; } >b : boolean @@ -336,7 +336,7 @@ function conditionalSpreadNumber(nt: number): { x: number, y: number } { >nt : number } let o2 = { ...nt && { x: nt }} ->o2 : {} +>o2 : {} | { x: number; } >{ ...nt && { x: nt }} : {} | { x: number; } >nt && { x: nt } : 0 | { x: number; } >nt : number @@ -377,7 +377,7 @@ function conditionalSpreadString(st: string): { x: string, y: number } { >st : string } let o2 = { ...st && { x: st }} ->o2 : {} +>o2 : {} | { x: string; } >{ ...st && { x: st }} : {} | { x: string; } >st && { x: st } : "" | { x: string; } >st : string diff --git a/tests/baselines/reference/primitiveMembers.types b/tests/baselines/reference/primitiveMembers.types index cb2a6245dd0..b30dac5963c 100644 --- a/tests/baselines/reference/primitiveMembers.types +++ b/tests/baselines/reference/primitiveMembers.types @@ -77,7 +77,7 @@ var b: Boolean = true; >true : true var n3 = 5 || {}; ->n3 : {} +>n3 : number | {} >5 || {} : 5 | {} >5 : 5 >{} : {} diff --git a/tests/baselines/reference/spreadUnion2.errors.txt b/tests/baselines/reference/spreadUnion2.errors.txt deleted file mode 100644 index f4f81dadf11..00000000000 --- a/tests/baselines/reference/spreadUnion2.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -tests/cases/conformance/types/spread/spreadUnion2.ts(5,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o1' has type '{} | { a: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 3:4, but here has type '{}'. -tests/cases/conformance/types/spread/spreadUnion2.ts(8,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o2' has type '{} | { b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 6:4, but here has type '{}'. -tests/cases/conformance/types/spread/spreadUnion2.ts(11,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' has type '{} | { a: number; } | { b: number; } | { a: number; b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 9:4, but here has type '{}'. -tests/cases/conformance/types/spread/spreadUnion2.ts(12,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' has type '{} | { a: number; } | { b: number; } | { a: number; b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 9:4, but here has type '{}'. -tests/cases/conformance/types/spread/spreadUnion2.ts(15,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o4' has type '{} | { a: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 13:4, but here has type '{}'. -tests/cases/conformance/types/spread/spreadUnion2.ts(18,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'o5' has type '{} | { b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 16:4, but here has type '{}'. - - -==== tests/cases/conformance/types/spread/spreadUnion2.ts (6 errors) ==== - declare const undefinedUnion: { a: number } | undefined; - declare const nullUnion: { b: number } | null; - - var o1: {} | { a: number }; - var o1 = { ...undefinedUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o1' has type '{} | { a: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 3:4, but here has type '{}'. - - var o2: {} | { b: number }; - var o2 = { ...nullUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o2' has type '{} | { b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 6:4, but here has type '{}'. - - var o3: {} | { a: number } | { b: number } | { a: number, b: number }; - var o3 = { ...undefinedUnion, ...nullUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' has type '{} | { a: number; } | { b: number; } | { a: number; b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 9:4, but here has type '{}'. - var o3 = { ...nullUnion, ...undefinedUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' has type '{} | { a: number; } | { b: number; } | { a: number; b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 9:4, but here has type '{}'. - - var o4: {} | { a: number }; - var o4 = { ...undefinedUnion, ...undefinedUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o4' has type '{} | { a: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 13:4, but here has type '{}'. - - var o5: {} | { b: number }; - var o5 = { ...nullUnion, ...nullUnion }; - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o5' has type '{} | { b: number; }' at tests/cases/conformance/types/spread/spreadUnion2.ts 16:4, but here has type '{}'. - - \ No newline at end of file diff --git a/tests/baselines/reference/spreadUnion3.errors.txt b/tests/baselines/reference/spreadUnion3.errors.txt index b1fa3316d34..b7c59697946 100644 --- a/tests/baselines/reference/spreadUnion3.errors.txt +++ b/tests/baselines/reference/spreadUnion3.errors.txt @@ -2,7 +2,8 @@ tests/cases/conformance/types/spread/spreadUnion3.ts(2,5): error TS2322: Type '{ Type '{ y: number; }' is not assignable to type '{ y: string; }'. Types of property 'y' are incompatible. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/spread/spreadUnion3.ts(9,23): error TS2339: Property 'a' does not exist on type '{}'. +tests/cases/conformance/types/spread/spreadUnion3.ts(9,23): error TS2339: Property 'a' does not exist on type '{} | {} | { a: number; }'. + Property 'a' does not exist on type '{}'. tests/cases/conformance/types/spread/spreadUnion3.ts(17,11): error TS2698: Spread types may only be created from object types. tests/cases/conformance/types/spread/spreadUnion3.ts(18,11): error TS2698: Spread types may only be created from object types. @@ -23,7 +24,8 @@ tests/cases/conformance/types/spread/spreadUnion3.ts(18,11): error TS2698: Sprea let b = { ...t }; let c: number = b.a; // might not have 'a' ~ -!!! error TS2339: Property 'a' does not exist on type '{}'. +!!! error TS2339: Property 'a' does not exist on type '{} | {} | { a: number; }'. +!!! error TS2339: Property 'a' does not exist on type '{}'. } g() g(undefined) diff --git a/tests/baselines/reference/spreadUnion3.types b/tests/baselines/reference/spreadUnion3.types index 940ec96f5b7..a457307aad1 100644 --- a/tests/baselines/reference/spreadUnion3.types +++ b/tests/baselines/reference/spreadUnion3.types @@ -24,14 +24,14 @@ function g(t?: { a: number } | null): void { >null : null let b = { ...t }; ->b : {} +>b : {} | {} | { a: number; } >{ ...t } : {} | {} | { a: number; } >t : { a: number; } | null | undefined let c: number = b.a; // might not have 'a' >c : number >b.a : any ->b : {} +>b : {} | {} | { a: number; } >a : any } g() diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types index e2f294343a5..5c008a91e5d 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types @@ -675,14 +675,14 @@ function f21(x: T) { >T : T var r20 = true ? {} : x; // ok ->r20 : {} +>r20 : T | {} >true ? {} : x : T | {} >true : true >{} : {} >x : T var r20 = true ? x : {}; // ok ->r20 : {} +>r20 : T | {} >true ? x : {} : T | {} >true : true >x : T