1// @allowUnreachableCode: true 2 3class Base { private p; } 4class Derived1 extends Base { private m; } 5class Derived2 extends Base { private n; } 6interface Genric<T> { func(n: T[]); } 7var b = new Base(), d1 = new Derived1(), d2 = new Derived2(); 8var x1: () => Base[] = () => [d1, d2]; 9var x2: () => Base[] = function() { return [d1, d2] }; 10var x3: () => Base[] = function named() { return [d1, d2] }; 11var x4: { (): Base[]; } = () => [d1, d2]; 12var x5: { (): Base[]; } = function() { return [d1, d2] }; 13var x6: { (): Base[]; } = function named() { return [d1, d2] }; 14var x7: Base[] = [d1, d2]; 15var x8: Array<Base> = [d1, d2]; 16var x9: { [n: number]: Base; } = [d1, d2]; 17var x10: {n: Base[]; } = { n: [d1, d2] }; 18var x11: (s: Base[]) => any = n => { var n: Base[]; return null; }; 19var x12: Genric<Base> = { func: n => { return [d1, d2]; } }; 20class x13 { member: () => Base[] = () => [d1, d2] } 21class x14 { member: () => Base[] = function() { return [d1, d2] } } 22class x15 { member: () => Base[] = function named() { return [d1, d2] } } 23class x16 { member: { (): Base[]; } = () => [d1, d2] } 24class x17 { member: { (): Base[]; } = function() { return [d1, d2] } } 25class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } } 26class x19 { member: Base[] = [d1, d2] } 27class x20 { member: Array<Base> = [d1, d2] } 28class x21 { member: { [n: number]: Base; } = [d1, d2] } 29class x22 { member: {n: Base[]; } = { n: [d1, d2] } } 30class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 31class x24 { member: Genric<Base> = { func: n => { return [d1, d2]; } } } 32class x25 { private member: () => Base[] = () => [d1, d2] } 33class x26 { private member: () => Base[] = function() { return [d1, d2] } } 34class x27 { private member: () => Base[] = function named() { return [d1, d2] } } 35class x28 { private member: { (): Base[]; } = () => [d1, d2] } 36class x29 { private member: { (): Base[]; } = function() { return [d1, d2] } } 37class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] } } 38class x31 { private member: Base[] = [d1, d2] } 39class x32 { private member: Array<Base> = [d1, d2] } 40class x33 { private member: { [n: number]: Base; } = [d1, d2] } 41class x34 { private member: {n: Base[]; } = { n: [d1, d2] } } 42class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 43class x36 { private member: Genric<Base> = { func: n => { return [d1, d2]; } } } 44class x37 { public member: () => Base[] = () => [d1, d2] } 45class x38 { public member: () => Base[] = function() { return [d1, d2] } } 46class x39 { public member: () => Base[] = function named() { return [d1, d2] } } 47class x40 { public member: { (): Base[]; } = () => [d1, d2] } 48class x41 { public member: { (): Base[]; } = function() { return [d1, d2] } } 49class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] } } 50class x43 { public member: Base[] = [d1, d2] } 51class x44 { public member: Array<Base> = [d1, d2] } 52class x45 { public member: { [n: number]: Base; } = [d1, d2] } 53class x46 { public member: {n: Base[]; } = { n: [d1, d2] } } 54class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 55class x48 { public member: Genric<Base> = { func: n => { return [d1, d2]; } } } 56class x49 { static member: () => Base[] = () => [d1, d2] } 57class x50 { static member: () => Base[] = function() { return [d1, d2] } } 58class x51 { static member: () => Base[] = function named() { return [d1, d2] } } 59class x52 { static member: { (): Base[]; } = () => [d1, d2] } 60class x53 { static member: { (): Base[]; } = function() { return [d1, d2] } } 61class x54 { static member: { (): Base[]; } = function named() { return [d1, d2] } } 62class x55 { static member: Base[] = [d1, d2] } 63class x56 { static member: Array<Base> = [d1, d2] } 64class x57 { static member: { [n: number]: Base; } = [d1, d2] } 65class x58 { static member: {n: Base[]; } = { n: [d1, d2] } } 66class x59 { static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 67class x60 { static member: Genric<Base> = { func: n => { return [d1, d2]; } } } 68class x61 { private static member: () => Base[] = () => [d1, d2] } 69class x62 { private static member: () => Base[] = function() { return [d1, d2] } } 70class x63 { private static member: () => Base[] = function named() { return [d1, d2] } } 71class x64 { private static member: { (): Base[]; } = () => [d1, d2] } 72class x65 { private static member: { (): Base[]; } = function() { return [d1, d2] } } 73class x66 { private static member: { (): Base[]; } = function named() { return [d1, d2] } } 74class x67 { private static member: Base[] = [d1, d2] } 75class x68 { private static member: Array<Base> = [d1, d2] } 76class x69 { private static member: { [n: number]: Base; } = [d1, d2] } 77class x70 { private static member: {n: Base[]; } = { n: [d1, d2] } } 78class x71 { private static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 79class x72 { private static member: Genric<Base> = { func: n => { return [d1, d2]; } } } 80class x73 { public static member: () => Base[] = () => [d1, d2] } 81class x74 { public static member: () => Base[] = function() { return [d1, d2] } } 82class x75 { public static member: () => Base[] = function named() { return [d1, d2] } } 83class x76 { public static member: { (): Base[]; } = () => [d1, d2] } 84class x77 { public static member: { (): Base[]; } = function() { return [d1, d2] } } 85class x78 { public static member: { (): Base[]; } = function named() { return [d1, d2] } } 86class x79 { public static member: Base[] = [d1, d2] } 87class x80 { public static member: Array<Base> = [d1, d2] } 88class x81 { public static member: { [n: number]: Base; } = [d1, d2] } 89class x82 { public static member: {n: Base[]; } = { n: [d1, d2] } } 90class x83 { public static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } 91class x84 { public static member: Genric<Base> = { func: n => { return [d1, d2]; } } } 92class x85 { constructor(parm: () => Base[] = () => [d1, d2]) { } } 93class x86 { constructor(parm: () => Base[] = function() { return [d1, d2] }) { } } 94class x87 { constructor(parm: () => Base[] = function named() { return [d1, d2] }) { } } 95class x88 { constructor(parm: { (): Base[]; } = () => [d1, d2]) { } } 96class x89 { constructor(parm: { (): Base[]; } = function() { return [d1, d2] }) { } } 97class x90 { constructor(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } 98class x91 { constructor(parm: Base[] = [d1, d2]) { } } 99class x92 { constructor(parm: Array<Base> = [d1, d2]) { } } 100class x93 { constructor(parm: { [n: number]: Base; } = [d1, d2]) { } } 101class x94 { constructor(parm: {n: Base[]; } = { n: [d1, d2] }) { } } 102class x95 { constructor(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } 103class x96 { constructor(parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } } 104class x97 { constructor(public parm: () => Base[] = () => [d1, d2]) { } } 105class x98 { constructor(public parm: () => Base[] = function() { return [d1, d2] }) { } } 106class x99 { constructor(public parm: () => Base[] = function named() { return [d1, d2] }) { } } 107class x100 { constructor(public parm: { (): Base[]; } = () => [d1, d2]) { } } 108class x101 { constructor(public parm: { (): Base[]; } = function() { return [d1, d2] }) { } } 109class x102 { constructor(public parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } 110class x103 { constructor(public parm: Base[] = [d1, d2]) { } } 111class x104 { constructor(public parm: Array<Base> = [d1, d2]) { } } 112class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } } 113class x106 { constructor(public parm: {n: Base[]; } = { n: [d1, d2] }) { } } 114class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } 115class x108 { constructor(public parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } } 116class x109 { constructor(private parm: () => Base[] = () => [d1, d2]) { } } 117class x110 { constructor(private parm: () => Base[] = function() { return [d1, d2] }) { } } 118class x111 { constructor(private parm: () => Base[] = function named() { return [d1, d2] }) { } } 119class x112 { constructor(private parm: { (): Base[]; } = () => [d1, d2]) { } } 120class x113 { constructor(private parm: { (): Base[]; } = function() { return [d1, d2] }) { } } 121class x114 { constructor(private parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } 122class x115 { constructor(private parm: Base[] = [d1, d2]) { } } 123class x116 { constructor(private parm: Array<Base> = [d1, d2]) { } } 124class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } } 125class x118 { constructor(private parm: {n: Base[]; } = { n: [d1, d2] }) { } } 126class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } 127class x120 { constructor(private parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } } 128function x121(parm: () => Base[] = () => [d1, d2]) { } 129function x122(parm: () => Base[] = function() { return [d1, d2] }) { } 130function x123(parm: () => Base[] = function named() { return [d1, d2] }) { } 131function x124(parm: { (): Base[]; } = () => [d1, d2]) { } 132function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { } 133function x126(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } 134function x127(parm: Base[] = [d1, d2]) { } 135function x128(parm: Array<Base> = [d1, d2]) { } 136function x129(parm: { [n: number]: Base; } = [d1, d2]) { } 137function x130(parm: {n: Base[]; } = { n: [d1, d2] }) { } 138function x131(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } 139function x132(parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } 140function x133(): () => Base[] { return () => [d1, d2]; } 141function x134(): () => Base[] { return function() { return [d1, d2] }; } 142function x135(): () => Base[] { return function named() { return [d1, d2] }; } 143function x136(): { (): Base[]; } { return () => [d1, d2]; } 144function x137(): { (): Base[]; } { return function() { return [d1, d2] }; } 145function x138(): { (): Base[]; } { return function named() { return [d1, d2] }; } 146function x139(): Base[] { return [d1, d2]; } 147function x140(): Array<Base> { return [d1, d2]; } 148function x141(): { [n: number]: Base; } { return [d1, d2]; } 149function x142(): {n: Base[]; } { return { n: [d1, d2] }; } 150function x143(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; } 151function x144(): Genric<Base> { return { func: n => { return [d1, d2]; } }; } 152function x145(): () => Base[] { return () => [d1, d2]; return () => [d1, d2]; } 153function x146(): () => Base[] { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } 154function x147(): () => Base[] { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } 155function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; } 156function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } 157function x150(): { (): Base[]; } { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } 158function x151(): Base[] { return [d1, d2]; return [d1, d2]; } 159function x152(): Array<Base> { return [d1, d2]; return [d1, d2]; } 160function x153(): { [n: number]: Base; } { return [d1, d2]; return [d1, d2]; } 161function x154(): {n: Base[]; } { return { n: [d1, d2] }; return { n: [d1, d2] }; } 162function x155(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; return n => { var n: Base[]; return null; }; } 163function x156(): Genric<Base> { return { func: n => { return [d1, d2]; } }; return { func: n => { return [d1, d2]; } }; } 164var x157: () => () => Base[] = () => { return () => [d1, d2]; }; 165var x158: () => () => Base[] = () => { return function() { return [d1, d2] }; }; 166var x159: () => () => Base[] = () => { return function named() { return [d1, d2] }; }; 167var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; }; 168var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; }; 169var x162: () => { (): Base[]; } = () => { return function named() { return [d1, d2] }; }; 170var x163: () => Base[] = () => { return [d1, d2]; }; 171var x164: () => Array<Base> = () => { return [d1, d2]; }; 172var x165: () => { [n: number]: Base; } = () => { return [d1, d2]; }; 173var x166: () => {n: Base[]; } = () => { return { n: [d1, d2] }; }; 174var x167: () => (s: Base[]) => any = () => { return n => { var n: Base[]; return null; }; }; 175var x168: () => Genric<Base> = () => { return { func: n => { return [d1, d2]; } }; }; 176var x169: () => () => Base[] = function() { return () => [d1, d2]; }; 177var x170: () => () => Base[] = function() { return function() { return [d1, d2] }; }; 178var x171: () => () => Base[] = function() { return function named() { return [d1, d2] }; }; 179var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; }; 180var x173: () => { (): Base[]; } = function() { return function() { return [d1, d2] }; }; 181var x174: () => { (): Base[]; } = function() { return function named() { return [d1, d2] }; }; 182var x175: () => Base[] = function() { return [d1, d2]; }; 183var x176: () => Array<Base> = function() { return [d1, d2]; }; 184var x177: () => { [n: number]: Base; } = function() { return [d1, d2]; }; 185var x178: () => {n: Base[]; } = function() { return { n: [d1, d2] }; }; 186var x179: () => (s: Base[]) => any = function() { return n => { var n: Base[]; return null; }; }; 187var x180: () => Genric<Base> = function() { return { func: n => { return [d1, d2]; } }; }; 188module x181 { var t: () => Base[] = () => [d1, d2]; } 189module x182 { var t: () => Base[] = function() { return [d1, d2] }; } 190module x183 { var t: () => Base[] = function named() { return [d1, d2] }; } 191module x184 { var t: { (): Base[]; } = () => [d1, d2]; } 192module x185 { var t: { (): Base[]; } = function() { return [d1, d2] }; } 193module x186 { var t: { (): Base[]; } = function named() { return [d1, d2] }; } 194module x187 { var t: Base[] = [d1, d2]; } 195module x188 { var t: Array<Base> = [d1, d2]; } 196module x189 { var t: { [n: number]: Base; } = [d1, d2]; } 197module x190 { var t: {n: Base[]; } = { n: [d1, d2] }; } 198module x191 { var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } 199module x192 { var t: Genric<Base> = { func: n => { return [d1, d2]; } }; } 200module x193 { export var t: () => Base[] = () => [d1, d2]; } 201module x194 { export var t: () => Base[] = function() { return [d1, d2] }; } 202module x195 { export var t: () => Base[] = function named() { return [d1, d2] }; } 203module x196 { export var t: { (): Base[]; } = () => [d1, d2]; } 204module x197 { export var t: { (): Base[]; } = function() { return [d1, d2] }; } 205module x198 { export var t: { (): Base[]; } = function named() { return [d1, d2] }; } 206module x199 { export var t: Base[] = [d1, d2]; } 207module x200 { export var t: Array<Base> = [d1, d2]; } 208module x201 { export var t: { [n: number]: Base; } = [d1, d2]; } 209module x202 { export var t: {n: Base[]; } = { n: [d1, d2] }; } 210module x203 { export var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } 211module x204 { export var t: Genric<Base> = { func: n => { return [d1, d2]; } }; } 212var x206 = <() => Base[]>function() { return [d1, d2] }; 213var x207 = <() => Base[]>function named() { return [d1, d2] }; 214var x209 = <{ (): Base[]; }>function() { return [d1, d2] }; 215var x210 = <{ (): Base[]; }>function named() { return [d1, d2] }; 216var x211 = <Base[]>[d1, d2]; 217var x212 = <Array<Base>>[d1, d2]; 218var x213 = <{ [n: number]: Base; }>[d1, d2]; 219var x214 = <{n: Base[]; } >{ n: [d1, d2] }; 220var x216 = <Genric<Base>>{ func: n => { return [d1, d2]; } }; 221var x217 = (<() => Base[]>undefined) || function() { return [d1, d2] }; 222var x218 = (<() => Base[]>undefined) || function named() { return [d1, d2] }; 223var x219 = (<{ (): Base[]; }>undefined) || function() { return [d1, d2] }; 224var x220 = (<{ (): Base[]; }>undefined) || function named() { return [d1, d2] }; 225var x221 = (<Base[]>undefined) || [d1, d2]; 226var x222 = (<Array<Base>>undefined) || [d1, d2]; 227var x223 = (<{ [n: number]: Base; }>undefined) || [d1, d2]; 228var x224 = (<{n: Base[]; } >undefined) || { n: [d1, d2] }; 229var x225: () => Base[]; x225 = () => [d1, d2]; 230var x226: () => Base[]; x226 = function() { return [d1, d2] }; 231var x227: () => Base[]; x227 = function named() { return [d1, d2] }; 232var x228: { (): Base[]; }; x228 = () => [d1, d2]; 233var x229: { (): Base[]; }; x229 = function() { return [d1, d2] }; 234var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] }; 235var x231: Base[]; x231 = [d1, d2]; 236var x232: Array<Base>; x232 = [d1, d2]; 237var x233: { [n: number]: Base; }; x233 = [d1, d2]; 238var x234: {n: Base[]; } ; x234 = { n: [d1, d2] }; 239var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; }; 240var x236: Genric<Base>; x236 = { func: n => { return [d1, d2]; } }; 241var x237: { n: () => Base[]; } = { n: () => [d1, d2] }; 242var x238: { n: () => Base[]; } = { n: function() { return [d1, d2] } }; 243var x239: { n: () => Base[]; } = { n: function named() { return [d1, d2] } }; 244var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] }; 245var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } }; 246var x242: { n: { (): Base[]; }; } = { n: function named() { return [d1, d2] } }; 247var x243: { n: Base[]; } = { n: [d1, d2] }; 248var x244: { n: Array<Base>; } = { n: [d1, d2] }; 249var x245: { n: { [n: number]: Base; }; } = { n: [d1, d2] }; 250var x246: { n: {n: Base[]; } ; } = { n: { n: [d1, d2] } }; 251var x247: { n: (s: Base[]) => any; } = { n: n => { var n: Base[]; return null; } }; 252var x248: { n: Genric<Base>; } = { n: { func: n => { return [d1, d2]; } } }; 253var x252: { (): Base[]; }[] = [() => [d1, d2]]; 254var x253: { (): Base[]; }[] = [function() { return [d1, d2] }]; 255var x254: { (): Base[]; }[] = [function named() { return [d1, d2] }]; 256var x255: Base[][] = [[d1, d2]]; 257var x256: Array<Base>[] = [[d1, d2]]; 258var x257: { [n: number]: Base; }[] = [[d1, d2]]; 259var x258: {n: Base[]; } [] = [{ n: [d1, d2] }]; 260var x260: Genric<Base>[] = [{ func: n => { return [d1, d2]; } }]; 261var x261: () => Base[] = function() { return [d1, d2] } || undefined; 262var x262: () => Base[] = function named() { return [d1, d2] } || undefined; 263var x263: { (): Base[]; } = function() { return [d1, d2] } || undefined; 264var x264: { (): Base[]; } = function named() { return [d1, d2] } || undefined; 265var x265: Base[] = [d1, d2] || undefined; 266var x266: Array<Base> = [d1, d2] || undefined; 267var x267: { [n: number]: Base; } = [d1, d2] || undefined; 268var x268: {n: Base[]; } = { n: [d1, d2] } || undefined; 269var x269: () => Base[] = undefined || function() { return [d1, d2] }; 270var x270: () => Base[] = undefined || function named() { return [d1, d2] }; 271var x271: { (): Base[]; } = undefined || function() { return [d1, d2] }; 272var x272: { (): Base[]; } = undefined || function named() { return [d1, d2] }; 273var x273: Base[] = undefined || [d1, d2]; 274var x274: Array<Base> = undefined || [d1, d2]; 275var x275: { [n: number]: Base; } = undefined || [d1, d2]; 276var x276: {n: Base[]; } = undefined || { n: [d1, d2] }; 277var x277: () => Base[] = function() { return [d1, d2] } || function() { return [d1, d2] }; 278var x278: () => Base[] = function named() { return [d1, d2] } || function named() { return [d1, d2] }; 279var x279: { (): Base[]; } = function() { return [d1, d2] } || function() { return [d1, d2] }; 280var x280: { (): Base[]; } = function named() { return [d1, d2] } || function named() { return [d1, d2] }; 281var x281: Base[] = [d1, d2] || [d1, d2]; 282var x282: Array<Base> = [d1, d2] || [d1, d2]; 283var x283: { [n: number]: Base; } = [d1, d2] || [d1, d2]; 284var x284: {n: Base[]; } = { n: [d1, d2] } || { n: [d1, d2] }; 285var x285: () => Base[] = true ? () => [d1, d2] : () => [d1, d2]; 286var x286: () => Base[] = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; 287var x287: () => Base[] = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; 288var x288: { (): Base[]; } = true ? () => [d1, d2] : () => [d1, d2]; 289var x289: { (): Base[]; } = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; 290var x290: { (): Base[]; } = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; 291var x291: Base[] = true ? [d1, d2] : [d1, d2]; 292var x292: Array<Base> = true ? [d1, d2] : [d1, d2]; 293var x293: { [n: number]: Base; } = true ? [d1, d2] : [d1, d2]; 294var x294: {n: Base[]; } = true ? { n: [d1, d2] } : { n: [d1, d2] }; 295var x295: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; }; 296var x296: Genric<Base> = true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } }; 297var x297: () => Base[] = true ? undefined : () => [d1, d2]; 298var x298: () => Base[] = true ? undefined : function() { return [d1, d2] }; 299var x299: () => Base[] = true ? undefined : function named() { return [d1, d2] }; 300var x300: { (): Base[]; } = true ? undefined : () => [d1, d2]; 301var x301: { (): Base[]; } = true ? undefined : function() { return [d1, d2] }; 302var x302: { (): Base[]; } = true ? undefined : function named() { return [d1, d2] }; 303var x303: Base[] = true ? undefined : [d1, d2]; 304var x304: Array<Base> = true ? undefined : [d1, d2]; 305var x305: { [n: number]: Base; } = true ? undefined : [d1, d2]; 306var x306: {n: Base[]; } = true ? undefined : { n: [d1, d2] }; 307var x307: (s: Base[]) => any = true ? undefined : n => { var n: Base[]; return null; }; 308var x308: Genric<Base> = true ? undefined : { func: n => { return [d1, d2]; } }; 309var x309: () => Base[] = true ? () => [d1, d2] : undefined; 310var x310: () => Base[] = true ? function() { return [d1, d2] } : undefined; 311var x311: () => Base[] = true ? function named() { return [d1, d2] } : undefined; 312var x312: { (): Base[]; } = true ? () => [d1, d2] : undefined; 313var x313: { (): Base[]; } = true ? function() { return [d1, d2] } : undefined; 314var x314: { (): Base[]; } = true ? function named() { return [d1, d2] } : undefined; 315var x315: Base[] = true ? [d1, d2] : undefined; 316var x316: Array<Base> = true ? [d1, d2] : undefined; 317var x317: { [n: number]: Base; } = true ? [d1, d2] : undefined; 318var x318: {n: Base[]; } = true ? { n: [d1, d2] } : undefined; 319var x319: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : undefined; 320var x320: Genric<Base> = true ? { func: n => { return [d1, d2]; } } : undefined; 321function x321(n: () => Base[]) { }; x321(() => [d1, d2]); 322function x322(n: () => Base[]) { }; x322(function() { return [d1, d2] }); 323function x323(n: () => Base[]) { }; x323(function named() { return [d1, d2] }); 324function x324(n: { (): Base[]; }) { }; x324(() => [d1, d2]); 325function x325(n: { (): Base[]; }) { }; x325(function() { return [d1, d2] }); 326function x326(n: { (): Base[]; }) { }; x326(function named() { return [d1, d2] }); 327function x327(n: Base[]) { }; x327([d1, d2]); 328function x328(n: Array<Base>) { }; x328([d1, d2]); 329function x329(n: { [n: number]: Base; }) { }; x329([d1, d2]); 330function x330(n: {n: Base[]; } ) { }; x330({ n: [d1, d2] }); 331function x331(n: (s: Base[]) => any) { }; x331(n => { var n: Base[]; return null; }); 332function x332(n: Genric<Base>) { }; x332({ func: n => { return [d1, d2]; } }); 333var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]); 334var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] }); 335var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); 336var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); 337var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); 338var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }); 339var x339 = (n: Base[]) => n; x339([d1, d2]); 340var x340 = (n: Array<Base>) => n; x340([d1, d2]); 341var x341 = (n: { [n: number]: Base; }) => n; x341([d1, d2]); 342var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] }); 343var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; }); 344var x344 = (n: Genric<Base>) => n; x344({ func: n => { return [d1, d2]; } }); 345var x345 = function(n: () => Base[]) { }; x345(() => [d1, d2]); 346var x346 = function(n: () => Base[]) { }; x346(function() { return [d1, d2] }); 347var x347 = function(n: () => Base[]) { }; x347(function named() { return [d1, d2] }); 348var x348 = function(n: { (): Base[]; }) { }; x348(() => [d1, d2]); 349var x349 = function(n: { (): Base[]; }) { }; x349(function() { return [d1, d2] }); 350var x350 = function(n: { (): Base[]; }) { }; x350(function named() { return [d1, d2] }); 351var x351 = function(n: Base[]) { }; x351([d1, d2]); 352var x352 = function(n: Array<Base>) { }; x352([d1, d2]); 353var x353 = function(n: { [n: number]: Base; }) { }; x353([d1, d2]); 354var x354 = function(n: {n: Base[]; } ) { }; x354({ n: [d1, d2] }); 355var x355 = function(n: (s: Base[]) => any) { }; x355(n => { var n: Base[]; return null; }); 356var x356 = function(n: Genric<Base>) { }; x356({ func: n => { return [d1, d2]; } });