//// [optionalParamAssignmentCompat.ts] interface I1 { (p1: number, p2: string): void; } interface I2 { p1: I1; m1(p1?: string): I1; } var i2: I2; var c: I1 = i2.p1; // should be ok var d: I1 = i2.m1; // should error //// [optionalParamAssignmentCompat.js] var i2; var c = i2.p1; // should be ok var d = i2.m1; // should error