Accept new baselines

This commit is contained in:
Anders Hejlsberg 2017-10-28 15:28:22 -07:00
parent 90d20f260a
commit 4adb15bbe4
9 changed files with 56 additions and 17 deletions

View file

@ -46,7 +46,7 @@ var r = true ? 1 : 2;
>2 : 2
var r3 = true ? 1 : {};
>r3 : number | {}
>r3 : {}
>true ? 1 : {} : 1 | {}
>true : true
>1 : 1

View file

@ -63,7 +63,7 @@ true ? { a: 1 } : { a: 2, b: 'string' };
>'string' : "string"
var result2 = true ? {} : 1;
>result2 : number | {}
>result2 : {}
>true ? {} : 1 : 1 | {}
>true : true
>{} : {}
@ -143,7 +143,7 @@ true ? { a: 2, b: 'string' } : { a: 1 };
>1 : 1
var result6 = true ? 1 : {};
>result6 : number | {}
>result6 : {}
>true ? 1 : {} : 1 | {}
>true : true
>1 : 1

View file

@ -21,13 +21,13 @@ var c = [1, '', null]; // {}[]
>null : null
var d = [{}, 1]; // {}[]
>d : (number | {})[]
>d : {}[]
>[{}, 1] : (number | {})[]
>{} : {}
>1 : 1
var e = [{}, Object]; // {}[]
>e : (ObjectConstructor | {})[]
>e : {}[]
>[{}, Object] : (ObjectConstructor | {})[]
>{} : {}
>Object : ObjectConstructor

View file

@ -295,7 +295,7 @@ function conditionalSpreadBoolean(b: boolean) : { x: number, y: number } {
>14 : 14
}
let o2 = { ...b && { x: 21 }}
>o2 : {} | { x: number; }
>o2 : {}
>{ ...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 : {} | { x: number; }
>o2 : {}
>{ ...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 : {} | { x: string; }
>o2 : {}
>{ ...st && { x: st }} : {} | { x: string; }
>st && { x: st } : "" | { x: string; }
>st : string

View file

@ -77,7 +77,7 @@ var b: Boolean = true;
>true : true
var n3 = 5 || {};
>n3 : number | {}
>n3 : {}
>5 || {} : 5 | {}
>5 : 5
>{} : {}

View file

@ -0,0 +1,41 @@
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 '{}'.

View file

@ -2,8 +2,7 @@ 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 '{} | {} | { a: number; }'.
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 '{}'.
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.
@ -24,8 +23,7 @@ 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 '{} | {} | { a: number; }'.
!!! error TS2339: Property 'a' does not exist on type '{}'.
!!! error TS2339: Property 'a' does not exist on type '{}'.
}
g()
g(undefined)

View file

@ -24,14 +24,14 @@ function g(t?: { a: number } | null): void {
>null : null
let b = { ...t };
>b : {} | {} | { a: number; }
>b : {}
>{ ...t } : {} | {} | { a: number; }
>t : { a: number; } | null | undefined
let c: number = b.a; // might not have 'a'
>c : number
>b.a : any
>b : {} | {} | { a: number; }
>b : {}
>a : any
}
g()

View file

@ -675,14 +675,14 @@ function f21<T extends Number>(x: T) {
>T : T
var r20 = true ? {} : x; // ok
>r20 : T | {}
>r20 : {}
>true ? {} : x : T | {}
>true : true
>{} : {}
>x : T
var r20 = true ? x : {}; // ok
>r20 : T | {}
>r20 : {}
>true ? x : {} : T | {}
>true : true
>x : T