diff --git a/src/dstr-binding/default/arrow-function.template b/src/dstr-binding/default/arrow-function.template
index fb7394330fb2ba66b60f64c9974591f5d146b091..98f2dd8d5b37d7601414769690208b3d1dccd16b 100644
--- a/src/dstr-binding/default/arrow-function.template
+++ b/src/dstr-binding/default/arrow-function.template
@@ -5,6 +5,7 @@ path: language/expressions/arrow-function/dstr-
 name: arrow function expression
 esid: sec-arrow-function-definitions-runtime-semantics-evaluation
 es6id: 14.2.16
+features: [destructuring-binding]
 info: |
     ArrowFunction : ArrowParameters => ConciseBody
 
diff --git a/src/dstr-binding/default/cls-decl-gen-meth-static.template b/src/dstr-binding/default/cls-decl-gen-meth-static.template
index 89d0a491a9dfc94a9e06200079f751d54571a1d5..422369c01708b2faf7426420deff6ef0fbcffc1f 100644
--- a/src/dstr-binding/default/cls-decl-gen-meth-static.template
+++ b/src/dstr-binding/default/cls-decl-gen-meth-static.template
@@ -5,6 +5,7 @@ path: language/statements/class/dstr-gen-meth-static-
 name: static class expression generator method
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
 es6id: 14.5.15
+features: [destructuring-binding]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
 
diff --git a/src/dstr-binding/default/cls-decl-gen-meth.template b/src/dstr-binding/default/cls-decl-gen-meth.template
index 540134667b599369120206a7d15bd950029f7fd3..cfe3af0a0269a70a185c7d1d50b4978c4adff90b 100644
--- a/src/dstr-binding/default/cls-decl-gen-meth.template
+++ b/src/dstr-binding/default/cls-decl-gen-meth.template
@@ -5,6 +5,7 @@ path: language/statements/class/dstr-gen-meth-
 name: class expression method
 esid: sec-class-definitions-runtime-semantics-evaluation
 es6id: 14.5.16
+features: [destructuring-binding]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
 
diff --git a/src/dstr-binding/default/cls-decl-meth-static.template b/src/dstr-binding/default/cls-decl-meth-static.template
index 49ec0f5fb9223eef6c9aedbb5f81025e54622692..4ca18661ab09f6ce41861cfe79b684e728098cdb 100644
--- a/src/dstr-binding/default/cls-decl-meth-static.template
+++ b/src/dstr-binding/default/cls-decl-meth-static.template
@@ -5,6 +5,7 @@ path: language/statements/class/dstr-meth-static-
 name: static class expression method
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
 es6id: 14.5.15
+features: [destructuring-binding]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
 
diff --git a/src/dstr-binding/default/cls-decl-meth.template b/src/dstr-binding/default/cls-decl-meth.template
index 6893ae27ddb0420aaae361adbf714d35add53427..5fe49ac0a90fb2a6e9600b7a22598c10d981c044 100644
--- a/src/dstr-binding/default/cls-decl-meth.template
+++ b/src/dstr-binding/default/cls-decl-meth.template
@@ -5,6 +5,7 @@ path: language/statements/class/dstr-meth-
 name: class expression method
 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
 es6id: 14.5.15
+features: [destructuring-binding]
 info: |
     ClassDeclaration : class BindingIdentifier ClassTail
 
diff --git a/src/dstr-binding/default/cls-expr-gen-meth-static.template b/src/dstr-binding/default/cls-expr-gen-meth-static.template
index 5c77aa0ce4f580081c06a9f62e86535c87719d66..54bbaa3f75480a19de10fe00431cde74a26d320c 100644
--- a/src/dstr-binding/default/cls-expr-gen-meth-static.template
+++ b/src/dstr-binding/default/cls-expr-gen-meth-static.template
@@ -5,6 +5,7 @@ path: language/expressions/class/dstr-gen-meth-static-
 name: static class expression generator method
 esid: sec-class-definitions-runtime-semantics-evaluation
 es6id: 14.5.16
+features: [destructuring-binding]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
 
diff --git a/src/dstr-binding/default/cls-expr-gen-meth.template b/src/dstr-binding/default/cls-expr-gen-meth.template
index 64f122facdf0ab33aba23647a3caf60aa670bf53..e2d5e9c6c0f35664a45a5b0c832d533907d15a01 100644
--- a/src/dstr-binding/default/cls-expr-gen-meth.template
+++ b/src/dstr-binding/default/cls-expr-gen-meth.template
@@ -5,6 +5,7 @@ path: language/expressions/class/dstr-gen-meth-
 name: class expression method
 esid: sec-class-definitions-runtime-semantics-evaluation
 es6id: 14.5.16
+features: [destructuring-binding]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
 
diff --git a/src/dstr-binding/default/cls-expr-meth-static.template b/src/dstr-binding/default/cls-expr-meth-static.template
index a2da084d606db4ec2107a15b9117aae498c95ba4..45aeb8c4d34d8696947ba31a71fb95875251e547 100644
--- a/src/dstr-binding/default/cls-expr-meth-static.template
+++ b/src/dstr-binding/default/cls-expr-meth-static.template
@@ -5,6 +5,7 @@ path: language/expressions/class/dstr-meth-static-
 name: static class expression method
 esid: sec-class-definitions-runtime-semantics-evaluation
 es6id: 14.5.16
+features: [destructuring-binding]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
 
diff --git a/src/dstr-binding/default/cls-expr-meth.template b/src/dstr-binding/default/cls-expr-meth.template
index 258daef47019be75afa604afde0bd2914812af85..e982cc9533a88f3051fd00fa5a7f87ba3fef69e2 100644
--- a/src/dstr-binding/default/cls-expr-meth.template
+++ b/src/dstr-binding/default/cls-expr-meth.template
@@ -5,6 +5,7 @@ path: language/expressions/class/dstr-meth-
 name: class expression method
 esid: sec-class-definitions-runtime-semantics-evaluation
 es6id: 14.5.16
+features: [destructuring-binding]
 info: |
     ClassExpression : class BindingIdentifieropt ClassTail
 
diff --git a/src/dstr-binding/default/const-stmt.template b/src/dstr-binding/default/const-stmt.template
index 716a5ec1a971003c9c42f8e237045f850c8fc88c..d3d75575c90e9759eb9f850cf0309eed019cfd0c 100644
--- a/src/dstr-binding/default/const-stmt.template
+++ b/src/dstr-binding/default/const-stmt.template
@@ -6,6 +6,7 @@ name: >
     `const` statement
 esid: sec-let-and-const-declarations-runtime-semantics-evaluation
 es6id: 13.3.1.4
+features: [destructuring-binding]
 info: |
     LexicalBinding : BindingPattern Initializer
 
diff --git a/src/dstr-binding/default/func-decl.template b/src/dstr-binding/default/func-decl.template
index 009e4a5d4c417fe9a826a7c098c98b776f5bc2af..8351735dbf1762d43dbfca97d368f174bb3ea8c6 100644
--- a/src/dstr-binding/default/func-decl.template
+++ b/src/dstr-binding/default/func-decl.template
@@ -5,6 +5,7 @@ path: language/statements/function/dstr-
 name: function declaration
 esid: sec-function-definitions-runtime-semantics-instantiatefunctionobject
 es6id: 14.1.19
+features: [destructuring-binding]
 info: |
     FunctionDeclaration :
         function BindingIdentifier ( FormalParameters ) { FunctionBody }
diff --git a/src/dstr-binding/default/func-expr.template b/src/dstr-binding/default/func-expr.template
index eff40fa1cc838b4524ee59a6bea89966c97cda9b..6e562cc015453010e74d0b85b4ec074d2e35d892 100644
--- a/src/dstr-binding/default/func-expr.template
+++ b/src/dstr-binding/default/func-expr.template
@@ -5,6 +5,7 @@ path: language/expressions/function/dstr-
 name: function expression
 esid: sec-function-definitions-runtime-semantics-evaluation
 es6id: 14.1.20
+features: [destructuring-binding]
 info: |
     FunctionExpression : function ( FormalParameters ) { FunctionBody }
 
diff --git a/src/dstr-binding/default/gen-func-decl.template b/src/dstr-binding/default/gen-func-decl.template
index 1dcfd5aeafa6a4a122f6de3bf305323eeef2dba7..829d97587c7c9576615f32b575110251defad4b4 100644
--- a/src/dstr-binding/default/gen-func-decl.template
+++ b/src/dstr-binding/default/gen-func-decl.template
@@ -5,6 +5,7 @@ path: language/statements/generators/dstr-
 name: generator function declaration
 esid: sec-generator-function-definitions-runtime-semantics-instantiatefunctionobject
 es6id: 14.4.12
+features: [destructuring-binding]
 info: |
     GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
 
diff --git a/src/dstr-binding/default/gen-func-expr.template b/src/dstr-binding/default/gen-func-expr.template
index c7af4de38cbb581ff3e426077fa050759dd9db73..eb0b02239b5e10b5913afa6d58afcdafa7abc92c 100644
--- a/src/dstr-binding/default/gen-func-expr.template
+++ b/src/dstr-binding/default/gen-func-expr.template
@@ -5,6 +5,7 @@ path: language/expressions/generators/dstr-
 name: generator function expression
 esid: sec-generator-function-definitions-runtime-semantics-evaluation
 es6id: 14.4.14
+features: [destructuring-binding]
 info: |
     GeneratorExpression : function * ( FormalParameters ) { GeneratorBody }
 
diff --git a/src/dstr-binding/default/gen-meth.template b/src/dstr-binding/default/gen-meth.template
index 0fbf8aad562d16ec40fea42370056efb7f733c10..7f4d5f3cdab40777bfd0ae2cc453f03ddd1517fc 100644
--- a/src/dstr-binding/default/gen-meth.template
+++ b/src/dstr-binding/default/gen-meth.template
@@ -5,6 +5,7 @@ path: language/expressions/object/dstr-gen-meth-
 name: generator method
 esid: sec-generator-function-definitions-runtime-semantics-propertydefinitionevaluation
 es6id: 14.4.13
+features: [destructuring-binding]
 info: |
     GeneratorMethod :
         * PropertyName ( StrictFormalParameters ) { GeneratorBody }
diff --git a/src/dstr-binding/default/let-stmt.template b/src/dstr-binding/default/let-stmt.template
index f74870527fe5b638daa81def9cadcb332fbf7183..953a998698dae134fe94eccbb9a5ea070570b387 100644
--- a/src/dstr-binding/default/let-stmt.template
+++ b/src/dstr-binding/default/let-stmt.template
@@ -6,6 +6,7 @@ name: >
     `let` statement
 esid: sec-let-and-const-declarations-runtime-semantics-evaluation
 es6id: 13.3.1.4
+features: [destructuring-binding]
 info: |
     LexicalBinding : BindingPattern Initializer
 
diff --git a/src/dstr-binding/default/meth.template b/src/dstr-binding/default/meth.template
index 46e8e0aa50bf7f0d0ee47313c9ec403e66d1a8d6..7814d8155ebe9655f291d68251012b1b4c3c80ca 100644
--- a/src/dstr-binding/default/meth.template
+++ b/src/dstr-binding/default/meth.template
@@ -5,6 +5,7 @@ path: language/expressions/object/dstr-meth-
 name: method
 esid: sec-runtime-semantics-definemethod
 es6id: 14.3.8
+features: [destructuring-binding]
 info: |
     MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody }
 
diff --git a/src/dstr-binding/default/var-stmt.template b/src/dstr-binding/default/var-stmt.template
index b64cf266f0868933fd1872e0cfd4d361ed339917..23c94ba5957fc752b2eae45dc104c46ac18586fb 100644
--- a/src/dstr-binding/default/var-stmt.template
+++ b/src/dstr-binding/default/var-stmt.template
@@ -6,6 +6,7 @@ name: >
     `var` statement
 esid: sec-variable-statement-runtime-semantics-evaluation
 es6id: 13.3.2.4
+features: [destructuring-binding]
 info: |
     VariableDeclaration : BindingPattern Initializer