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
|
=== tests/cases/compiler/deeplyNestedAssignabilityErrorsCombined.ts ===
let x = { a: { b: { c: { d: { e: { f() { return { g: "hello" }; } } } } } } };
>x : { a: { b: { c: { d: { e: { f(): { g: string; }; }; }; }; }; }; }
>{ a: { b: { c: { d: { e: { f() { return { g: "hello" }; } } } } } } } : { a: { b: { c: { d: { e: { f(): { g: string; }; }; }; }; }; }; }
>a : { b: { c: { d: { e: { f(): { g: string; }; }; }; }; }; }
>{ b: { c: { d: { e: { f() { return { g: "hello" }; } } } } } } : { b: { c: { d: { e: { f(): { g: string; }; }; }; }; }; }
>b : { c: { d: { e: { f(): { g: string; }; }; }; }; }
>{ c: { d: { e: { f() { return { g: "hello" }; } } } } } : { c: { d: { e: { f(): { g: string; }; }; }; }; }
>c : { d: { e: { f(): { g: string; }; }; }; }
>{ d: { e: { f() { return { g: "hello" }; } } } } : { d: { e: { f(): { g: string; }; }; }; }
>d : { e: { f(): { g: string; }; }; }
>{ e: { f() { return { g: "hello" }; } } } : { e: { f(): { g: string; }; }; }
>e : { f(): { g: string; }; }
>{ f() { return { g: "hello" }; } } : { f(): { g: string; }; }
>f : () => { g: string; }
>{ g: "hello" } : { g: string; }
>g : string
>"hello" : "hello"
let y = { a: { b: { c: { d: { e: { f() { return { g: 12345 }; } } } } } } };
>y : { a: { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }; }
>{ a: { b: { c: { d: { e: { f() { return { g: 12345 }; } } } } } } } : { a: { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }; }
>a : { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }
>{ b: { c: { d: { e: { f() { return { g: 12345 }; } } } } } } : { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }
>b : { c: { d: { e: { f(): { g: number; }; }; }; }; }
>{ c: { d: { e: { f() { return { g: 12345 }; } } } } } : { c: { d: { e: { f(): { g: number; }; }; }; }; }
>c : { d: { e: { f(): { g: number; }; }; }; }
>{ d: { e: { f() { return { g: 12345 }; } } } } : { d: { e: { f(): { g: number; }; }; }; }
>d : { e: { f(): { g: number; }; }; }
>{ e: { f() { return { g: 12345 }; } } } : { e: { f(): { g: number; }; }; }
>e : { f(): { g: number; }; }
>{ f() { return { g: 12345 }; } } : { f(): { g: number; }; }
>f : () => { g: number; }
>{ g: 12345 } : { g: number; }
>g : number
>12345 : 12345
x = y;
>x = y : { a: { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }; }
>x : { a: { b: { c: { d: { e: { f(): { g: string; }; }; }; }; }; }; }
>y : { a: { b: { c: { d: { e: { f(): { g: number; }; }; }; }; }; }; }
class Ctor1 {
>Ctor1 : Ctor1
g = "ok"
>g : string
>"ok" : "ok"
}
class Ctor2 {
>Ctor2 : Ctor2
g = 12;
>g : number
>12 : 12
}
let x2 = { a: { b: { c: { d: { e: { f: Ctor1 } } } } } };
>x2 : { a: { b: { c: { d: { e: { f: typeof Ctor1; }; }; }; }; }; }
>{ a: { b: { c: { d: { e: { f: Ctor1 } } } } } } : { a: { b: { c: { d: { e: { f: typeof Ctor1; }; }; }; }; }; }
>a : { b: { c: { d: { e: { f: typeof Ctor1; }; }; }; }; }
>{ b: { c: { d: { e: { f: Ctor1 } } } } } : { b: { c: { d: { e: { f: typeof Ctor1; }; }; }; }; }
>b : { c: { d: { e: { f: typeof Ctor1; }; }; }; }
>{ c: { d: { e: { f: Ctor1 } } } } : { c: { d: { e: { f: typeof Ctor1; }; }; }; }
>c : { d: { e: { f: typeof Ctor1; }; }; }
>{ d: { e: { f: Ctor1 } } } : { d: { e: { f: typeof Ctor1; }; }; }
>d : { e: { f: typeof Ctor1; }; }
>{ e: { f: Ctor1 } } : { e: { f: typeof Ctor1; }; }
>e : { f: typeof Ctor1; }
>{ f: Ctor1 } : { f: typeof Ctor1; }
>f : typeof Ctor1
>Ctor1 : typeof Ctor1
let y2 = { a: { b: { c: { d: { e: { f: Ctor2 } } } } } };
>y2 : { a: { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }; }
>{ a: { b: { c: { d: { e: { f: Ctor2 } } } } } } : { a: { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }; }
>a : { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }
>{ b: { c: { d: { e: { f: Ctor2 } } } } } : { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }
>b : { c: { d: { e: { f: typeof Ctor2; }; }; }; }
>{ c: { d: { e: { f: Ctor2 } } } } : { c: { d: { e: { f: typeof Ctor2; }; }; }; }
>c : { d: { e: { f: typeof Ctor2; }; }; }
>{ d: { e: { f: Ctor2 } } } : { d: { e: { f: typeof Ctor2; }; }; }
>d : { e: { f: typeof Ctor2; }; }
>{ e: { f: Ctor2 } } : { e: { f: typeof Ctor2; }; }
>e : { f: typeof Ctor2; }
>{ f: Ctor2 } : { f: typeof Ctor2; }
>f : typeof Ctor2
>Ctor2 : typeof Ctor2
x2 = y2;
>x2 = y2 : { a: { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }; }
>x2 : { a: { b: { c: { d: { e: { f: typeof Ctor1; }; }; }; }; }; }
>y2 : { a: { b: { c: { d: { e: { f: typeof Ctor2; }; }; }; }; }; }
|