1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
=== tests/cases/compiler/assignmentCompatBug2.ts ===
var b2: { b: number;} = { a: 0 }; // error
>b2 : { b: number; }
>b : number
>{ a: 0 } : { a: number; }
>a : number
>0 : 0
b2 = { a: 0 }; // error
>b2 = { a: 0 } : { a: number; }
>b2 : { b: number; }
>{ a: 0 } : { a: number; }
>a : number
>0 : 0
b2 = {b: 0, a: 0 };
>b2 = {b: 0, a: 0 } : { b: number; a: number; }
>b2 : { b: number; }
>{b: 0, a: 0 } : { b: number; a: number; }
>b : number
>0 : 0
>a : number
>0 : 0
var b3: { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; };
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>f : (n: number) => number
>n : number
>g : (s: string) => number
>s : string
>m : number
>n : number
>k : (a: any) => any
>a : any
b3 = {
>b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; }
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; }
f: (n) => { return 0; },
>f : (n: number) => number
>(n) => { return 0; } : (n: number) => number
>n : number
>0 : 0
g: (s) => { return 0; },
>g : (s: string) => number
>(s) => { return 0; } : (s: string) => number
>s : string
>0 : 0
m: 0,
>m : number
>0 : 0
}; // ok
b3 = {
>b3 = { f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; }
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>{ f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; }
f: (n) => { return 0; },
>f : (n: number) => number
>(n) => { return 0; } : (n: number) => number
>n : number
>0 : 0
g: (s) => { return 0; },
>g : (s: string) => number
>(s) => { return 0; } : (s: string) => number
>s : string
>0 : 0
}; // error
b3 = {
>b3 = { f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; }
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>{ f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; }
f: (n) => { return 0; },
>f : (n: number) => number
>(n) => { return 0; } : (n: number) => number
>n : number
>0 : 0
m: 0,
>m : number
>0 : 0
}; // error
b3 = {
>b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; }
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; }
f: (n) => { return 0; },
>f : (n: number) => number
>(n) => { return 0; } : (n: number) => number
>n : number
>0 : 0
g: (s) => { return 0; },
>g : (s: string) => number
>(s) => { return 0; } : (s: string) => number
>s : string
>0 : 0
m: 0,
>m : number
>0 : 0
n: 0,
>n : number
>0 : 0
k: (a) =>{ return null; },
>k : (a: any) => any
>(a) =>{ return null; } : (a: any) => any
>a : any
>null : null
}; // ok
b3 = {
>b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; }
>b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; }
>{ f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; }
f: (n) => { return 0; },
>f : (n: number) => number
>(n) => { return 0; } : (n: number) => number
>n : number
>0 : 0
g: (s) => { return 0; },
>g : (s: string) => number
>(s) => { return 0; } : (s: string) => number
>s : string
>0 : 0
n: 0,
>n : number
>0 : 0
k: (a) =>{ return null; },
>k : (a: any) => any
>(a) =>{ return null; } : (a: any) => any
>a : any
>null : null
}; // error
|