tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(5,17): error TS1187: A parameter property may not be declared using a binding pattern. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(5,27): error TS2339: Property 'x1' does not exist on type 'ObjType1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(5,31): error TS2339: Property 'x2' does not exist on type 'ObjType1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(5,35): error TS2339: Property 'x3' does not exist on type 'ObjType1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,29): error TS2339: Property 'x1' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,40): error TS2339: Property 'x2' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,51): error TS2339: Property 'x3' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,62): error TS2339: Property 'y' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,72): error TS2339: Property 'z' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,19): error TS2322: Type '{ x1: number; x2: string; x3: true; }' is not assignable to type 'ObjType1'. Object literal may only specify known properties, and 'x1' does not exist in type 'ObjType1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,47): error TS2322: Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,51): error TS2322: Type 'boolean' is not assignable to type 'string'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,39): error TS2339: Property 'x1' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,45): error TS2339: Property 'x2' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,51): error TS2339: Property 'x3' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,57): error TS2339: Property 'y' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,62): error TS2339: Property 'z' does not exist on type 'C1'. ==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts (17 errors) ==== type ObjType1 = { x: number; y: string; z: boolean } type TupleType1 = [ObjType1, number, string] class C1 { constructor(public [{ x1, x2, x3 }, y, z]: TupleType1) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1187: A parameter property may not be declared using a binding pattern. ~~ !!! error TS2339: Property 'x1' does not exist on type 'ObjType1'. ~~ !!! error TS2339: Property 'x2' does not exist on type 'ObjType1'. ~~ !!! error TS2339: Property 'x3' does not exist on type 'ObjType1'. var foo: any = x1 || x2 || x3 || y || z; var bar: any = this.x1 || this.x2 || this.x3 || this.y || this.z; ~~ !!! error TS2339: Property 'x1' does not exist on type 'C1'. ~~ !!! error TS2339: Property 'x2' does not exist on type 'C1'. ~~ !!! error TS2339: Property 'x3' does not exist on type 'C1'. ~ !!! error TS2339: Property 'y' does not exist on type 'C1'. ~ !!! error TS2339: Property 'z' does not exist on type 'C1'. } } var a = new C1([{ x1: 10, x2: "", x3: true }, "", false]); ~~~~~~ !!! error TS2322: Type '{ x1: number; x2: string; x3: true; }' is not assignable to type 'ObjType1'. !!! error TS2322: Object literal may only specify known properties, and 'x1' does not exist in type 'ObjType1'. ~~ !!! error TS2322: Type 'string' is not assignable to type 'number'. ~~~~~ !!! error TS2322: Type 'boolean' is not assignable to type 'string'. var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; ~~ !!! error TS2339: Property 'x1' does not exist on type 'C1'. ~~ !!! error TS2339: Property 'x2' does not exist on type 'C1'. ~~ !!! error TS2339: Property 'x3' does not exist on type 'C1'. ~ !!! error TS2339: Property 'y' does not exist on type 'C1'. ~ !!! error TS2339: Property 'z' does not exist on type 'C1'.