fd5b80805e
The new baselines all look correct to me, but obviously a number of the tests need to be updated to reflect union types and the new behavior of best common type. This commit does not cover that.
54 lines
1.9 KiB
Text
54 lines
1.9 KiB
Text
=== tests/cases/compiler/contextuallyTypingOrOperator.ts ===
|
|
var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 };
|
|
>v : { a: (_: string) => number; }
|
|
>a : (_: string) => number
|
|
>_ : string
|
|
>{ a: s => s.length } || { a: s => 1 } : { a: (_: string) => number; }
|
|
>{ a: s => s.length } : { a: (s: string) => number; }
|
|
>a : (s: string) => number
|
|
>s => s.length : (s: string) => number
|
|
>s : string
|
|
>s.length : number
|
|
>s : string
|
|
>length : number
|
|
>{ a: s => 1 } : { a: (s: string) => number; }
|
|
>a : (s: string) => number
|
|
>s => 1 : (s: string) => number
|
|
>s : string
|
|
|
|
var v2 = (s: string) => s.length || function (s) { s.length };
|
|
>v2 : (s: string) => number | { (s: any): void; }
|
|
>(s: string) => s.length || function (s) { s.length } : (s: string) => number | { (s: any): void; }
|
|
>s : string
|
|
>s.length || function (s) { s.length } : number | { (s: any): void; }
|
|
>s.length : number
|
|
>s : string
|
|
>length : number
|
|
>function (s) { s.length } : (s: any) => void
|
|
>s : any
|
|
>s.length : any
|
|
>s : any
|
|
>length : any
|
|
|
|
var v3 = (s: string) => s.length || function (s: number) { return 1 };
|
|
>v3 : (s: string) => number | { (s: number): number; }
|
|
>(s: string) => s.length || function (s: number) { return 1 } : (s: string) => number | { (s: number): number; }
|
|
>s : string
|
|
>s.length || function (s: number) { return 1 } : number | { (s: number): number; }
|
|
>s.length : number
|
|
>s : string
|
|
>length : number
|
|
>function (s: number) { return 1 } : (s: number) => number
|
|
>s : number
|
|
|
|
var v4 = (s: number) => 1 || function (s: string) { return s.length };
|
|
>v4 : (s: number) => number | { (s: string): number; }
|
|
>(s: number) => 1 || function (s: string) { return s.length } : (s: number) => number | { (s: string): number; }
|
|
>s : number
|
|
>1 || function (s: string) { return s.length } : number | { (s: string): number; }
|
|
>function (s: string) { return s.length } : (s: string) => number
|
|
>s : string
|
|
>s.length : number
|
|
>s : string
|
|
>length : number
|
|
|