Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Implement destructing assignments for assignment expressions #1895

Closed
wants to merge 1 commit into from

Conversation

raskad
Copy link
Member

@raskad raskad commented Mar 6, 2022

It changes the following:

  • Implement destructing assignments for assignment expressions

@raskad raskad added enhancement New feature or request parser Issues surrounding the parser ast Issue surrounding the abstract syntax tree labels Mar 6, 2022
@raskad raskad added this to the v0.14.0 milestone Mar 6, 2022
@github-actions
Copy link

github-actions bot commented Mar 6, 2022

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 88,410 88,410 0
Passed 43,293 43,784 +491
Ignored 21,481 21,481 0
Failed 23,636 23,145 -491
Panics 0 0 0
Conformance 48.97% 49.52% +0.56%
Fixed tests (491):
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js (previously Failed)
test/language/expressions/assignmenttargettype/direct-callexpression-arguments.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/direct-callexpression-arguments.js (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js [strict mode] (previously Failed)
test/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js (previously Failed)
test/language/expressions/assignment/target-assignment-inside-function.js [strict mode] (previously Failed)
test/language/expressions/assignment/target-assignment-inside-function.js (previously Failed)
test/language/expressions/assignment/target-assignment.js [strict mode] (previously Failed)
test/language/expressions/assignment/target-assignment.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-let.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-simple-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-skip-non-enumerable.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-skip-non-enumerable.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-unresolvable-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-const.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-const.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-trlng.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-trlng.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-assignment.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-assignment.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-obj-literal-prop-ref.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-obj-literal-prop-ref.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-symbol.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-symbol.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-symbol.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-symbol.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-symbol.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-symbol.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref-no-get.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref-no-get.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-empty-obj.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-empty-obj.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-null.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-undef.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-undef.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-nrml-close-err.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-num.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-num.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-evaluation.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-evaluation.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-no-get.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-no-get.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-not-last-element-invalid.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-not-last-element-invalid.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-null.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-val-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-val-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-unresolvable-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-in.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-in.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-let.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-thrw-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-thrw-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-close-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-close-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-bool.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-bool.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-string.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-string.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-num.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-num.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-order.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-init-order.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-lref.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-lref.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-elision.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-elision.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-order.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-order.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined-hole.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined-hole.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-getter-abrupt-get-error.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-getter-abrupt-get-error.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-let.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-unresolvable-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-str-val.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-str-val.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-getter.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-getter.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-target-yield-valid.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-const.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-const.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-user-err-iter-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-user-err-iter-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-elision-iter-abpt.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-list-nrml-close-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref-user-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref-user-err.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-val-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-val-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-get-err.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-put-const.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-put-const.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-after-elision.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-after-elision.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-num.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-num.js (previously Failed)
test/language/expressions/assignment/dstr/array-iteration.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-iteration.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-string.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-string.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-const.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-const.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-descriptors.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-descriptors.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-target-simple-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-nrml-close-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-close.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-iter-close.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-get-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-target-identifier.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-target-identifier.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-simple-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-undef.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-undef.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-thrw-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-obj.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-obj.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-invalid.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-invalid.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-let.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-get-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-rest-thrw-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-rest-thrw-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-put-unresolvable-strict.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined-hole.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined-hole.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-undef.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-undef.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-middle.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-middle.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-same-name.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-same-name.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-unresolvable-strict.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-iter-thrw-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iteration.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iteration.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-number.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-number.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-lone.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-lone.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-obj-literal-prop-ref-init.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-obj-literal-prop-ref-init.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-to-property-with-setter.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-to-property-with-setter.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-after-element.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-after-element.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-user-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-prop-ref-user-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-abpt.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-elision-iter-abpt.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-bool.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-bool.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj.js (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-string.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-string.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-get-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined-hole.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-undefined-hole.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-valid-object.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-valid-object.js (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-array.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-empty-val-array.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-trlg-iter-get-err.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-array.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-val-array.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-put-unresolvable-strict.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-bool.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-empty-bool.js (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elision-iter-nrml-close-err.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-symbol-val.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-symbol-val.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array-iter-thrw-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-last.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-last.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-array-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-array.js (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-to-property.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-rest-to-property.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-iter-nrml-close-skip.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-put-prop-ref.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-first.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-identifier-resolution-first.js (previously Failed)
test/language/statements/for-of/body-dstr-assign.js [strict mode] (previously Failed)
test/language/statements/for-of/body-dstr-assign.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-null.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-simple-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-skip-non-enumerable.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-skip-non-enumerable.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-put-unresolvable-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-trlng.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-trlng.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-assignment.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-assignment.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-obj-literal-prop-ref.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-obj-literal-prop-ref.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-symbol.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-symbol.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-symbol.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-symbol.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-symbol.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-symbol.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-rest-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref-no-get.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref-no-get.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-empty-obj.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-empty-obj.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-null.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-undef.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-undef.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-nrml-close-err.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-num.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-num.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-evaluation.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-evaluation.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-no-get.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-no-get.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-null.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-val-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-val-undefined.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-unresolvable-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-in.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-in.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-let.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-let.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-close-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-close-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-bool.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-bool.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-string.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-string.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-num.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-num.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-order.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-init-order.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-lref.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-lref.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-elision.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-elision.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-order.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-order.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined-hole.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined-hole.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-getter-abrupt-get-error.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-getter-abrupt-get-error.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-unresolvable-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-str-val.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-str-val.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-getter.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-getter.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-target-yield-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-user-err-iter-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-user-err-iter-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-elision-iter-abpt.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-list-nrml-close-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref-user-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref-user-err.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-val-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-val-null.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-get-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-get-err.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-after-elision.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-after-elision.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-num.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-num.js (previously Failed)
test/language/statements/for-of/dstr/array-iteration.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-iteration.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-string.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-string.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-descriptors.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-descriptors.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-target-simple-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-null.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-nrml-close-err.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-close.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-iter-close.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-get-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-get-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-target-identifier.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-target-identifier.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-simple-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-undef.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-undef.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-thrw-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-obj.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-obj.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-get-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-get-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined-hole.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined-hole.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-undef.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-undef.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-middle.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-middle.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-same-name.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-same-name.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-iter-thrw-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-iteration.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-iteration.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-undefined.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-number.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-number.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-lone.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-lone.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-null.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-obj-literal-prop-ref-init.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-obj-literal-prop-ref-init.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-to-property-with-setter.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-to-property-with-setter.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-after-element.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-after-element.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-user-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-put-prop-ref-user-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-abpt.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-elision-iter-abpt.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-elision-iter-abpt.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-bool.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-bool.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-string.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-string.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-get-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-get-err.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined-hole.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-undefined-hole.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-valid-object.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-valid-object.js (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-array.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-empty-val-array.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-get-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-trlg-iter-get-err.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-array.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-val-array.js (previously Failed)
test/language/statements/for-of/dstr/obj-empty-bool.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-empty-bool.js (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close-err.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elision-iter-nrml-close-err.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-symbol-val.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-symbol-val.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-iter-thrw-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array-iter-thrw-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-last.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-last.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-array-null.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-array.js (previously Failed)
test/language/statements/for-of/dstr/obj-rest-to-property.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-rest-to-property.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-nrml-close-skip.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-iter-nrml-close-skip.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-elem-put-prop-ref.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-first.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-identifier-resolution-first.js (previously Failed)

@codecov
Copy link

codecov bot commented Mar 6, 2022

Codecov Report

Merging #1895 (305ab16) into main (9f9e36c) will decrease coverage by 0.32%.
The diff coverage is 15.46%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1895      +/-   ##
==========================================
- Coverage   46.36%   46.04%   -0.33%     
==========================================
  Files         206      206              
  Lines       16824    17003     +179     
==========================================
+ Hits         7801     7829      +28     
- Misses       9023     9174     +151     
Impacted Files Coverage Δ
boa_engine/src/syntax/ast/node/declaration/mod.rs 50.31% <0.00%> (-5.17%) ⬇️
boa_engine/src/syntax/ast/node/iteration/mod.rs 60.00% <ø> (ø)
...syntax/parser/statement/iteration/for_statement.rs 44.69% <0.00%> (-4.47%) ⬇️
boa_engine/src/vm/opcode.rs 42.85% <ø> (ø)
boa_engine/src/bytecompiler.rs 37.20% <10.00%> (-1.26%) ⬇️
..._engine/src/syntax/ast/node/operator/assign/mod.rs 23.00% <15.73%> (-52.00%) ⬇️
boa_engine/src/syntax/ast/node/array/mod.rs 33.33% <20.00%> (-9.53%) ⬇️
...parser/expression/primary/array_initializer/mod.rs 53.57% <71.42%> (+1.39%) ⬆️
...ine/src/syntax/parser/expression/assignment/mod.rs 30.76% <100.00%> (+0.96%) ⬆️
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9f9e36c...305ab16. Read the comment docs.

@github-actions
Copy link

github-actions bot commented Mar 6, 2022

Benchmark for 7d7c514

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 542.0±1.05ns 505.8±1.85ns -6.68%
Arithmetic operations (Execution) 1984.5±3.28ns 1969.8±17.40ns -0.74%
Arithmetic operations (Parser) 5.3±0.01µs 5.2±0.01µs -1.89%
Array access (Compiler) 1264.0±2.86ns 1284.2±2.97ns +1.60%
Array access (Execution) 9.6±0.05µs 9.9±0.05µs +3.13%
Array access (Parser) 11.7±0.02µs 11.5±0.07µs -1.71%
Array creation (Compiler) 1791.3±4.85ns 1831.5±7.67ns +2.24%
Array creation (Execution) 3.1±0.01ms 3.0±0.01ms -3.23%
Array creation (Parser) 13.3±0.02µs 13.0±0.01µs -2.26%
Array pop (Compiler) 3.9±0.01µs 3.8±0.01µs -2.56%
Array pop (Execution) 1349.4±16.25µs 1317.4±5.92µs -2.37%
Array pop (Parser) 130.9±0.11µs 129.0±0.14µs -1.45%
Boolean Object Access (Compiler) 1101.4±2.95ns 1104.3±3.11ns +0.26%
Boolean Object Access (Execution) 5.7±0.02µs 5.7±0.02µs 0.00%
Boolean Object Access (Parser) 14.4±0.02µs 13.8±0.01µs -4.17%
Clean js (Compiler) 3.4±0.02µs 3.4±0.02µs 0.00%
Clean js (Execution) 1089.1±9.11µs 1093.2±6.91µs +0.38%
Clean js (Parser) 28.5±0.02µs 27.8±0.04µs -2.46%
Create Realm 274.5±2.56ns 270.7±0.39ns -1.38%
Dynamic Object Property Access (Compiler) 1607.5±2.59ns 1640.2±7.53ns +2.03%
Dynamic Object Property Access (Execution) 6.6±0.02µs 6.8±0.03µs +3.03%
Dynamic Object Property Access (Parser) 10.5±0.02µs 10.2±0.01µs -2.86%
Fibonacci (Compiler) 2.3±0.01µs 2.3±0.01µs 0.00%
Fibonacci (Execution) 1754.7±7.62µs 1766.9±4.89µs +0.70%
Fibonacci (Parser) 16.1±0.02µs 15.6±0.11µs -3.11%
For loop (Compiler) 1950.5±3.76ns 1999.4±6.41ns +2.51%
For loop (Execution) 42.6±0.12µs 42.7±0.11µs +0.23%
For loop (Parser) 13.8±0.07µs 13.3±0.02µs -3.62%
Mini js (Compiler) 3.2±0.01µs 3.3±0.01µs +3.12%
Mini js (Execution) 1002.5±10.91µs 997.9±6.41µs -0.46%
Mini js (Parser) 24.7±0.02µs 24.4±0.03µs -1.21%
Number Object Access (Compiler) 1029.3±2.52ns 1039.9±4.81ns +1.03%
Number Object Access (Execution) 4.5±0.02µs 4.4±0.01µs -2.22%
Number Object Access (Parser) 11.1±0.01µs 10.8±0.01µs -2.70%
Object Creation (Compiler) 1381.5±5.65ns 1412.3±5.32ns +2.23%
Object Creation (Execution) 6.0±0.02µs 6.1±0.02µs +1.67%
Object Creation (Parser) 9.2±0.01µs 8.9±0.09µs -3.26%
RegExp (Compiler) 1606.8±2.40ns 1623.3±5.85ns +1.03%
RegExp (Execution) 12.6±0.04µs 12.6±0.03µs 0.00%
RegExp (Parser) 10.1±0.20µs 9.8±0.02µs -2.97%
RegExp Creation (Compiler) 1393.3±4.73ns 1394.4±4.30ns +0.08%
RegExp Creation (Execution) 9.3±0.04µs 9.5±0.03µs +2.15%
RegExp Creation (Parser) 8.4±0.01µs 8.2±0.07µs -2.38%
RegExp Literal (Compiler) 1590.3±2.39ns 1632.0±9.03ns +2.62%
RegExp Literal (Execution) 12.5±0.03µs 12.5±0.03µs 0.00%
RegExp Literal (Parser) 8.1±0.01µs 7.9±0.01µs -2.47%
RegExp Literal Creation (Compiler) 1406.2±6.06ns 1415.3±6.83ns +0.65%
RegExp Literal Creation (Execution) 9.3±0.04µs 9.5±0.03µs +2.15%
RegExp Literal Creation (Parser) 6.4±0.01µs 6.2±0.01µs -3.13%
Static Object Property Access (Compiler) 1387.8±5.54ns 1391.9±11.41ns +0.30%
Static Object Property Access (Execution) 6.2±0.03µs 6.4±0.03µs +3.23%
Static Object Property Access (Parser) 9.8±0.01µs 9.6±0.01µs -2.04%
String Object Access (Compiler) 1460.8±6.83ns 1469.8±7.91ns +0.62%
String Object Access (Execution) 7.6±0.03µs 7.4±0.05µs -2.63%
String Object Access (Parser) 14.1±0.06µs 13.5±0.02µs -4.26%
String comparison (Compiler) 2.1±0.01µs 2.1±0.01µs 0.00%
String comparison (Execution) 5.7±0.01µs 5.8±0.02µs +1.75%
String comparison (Parser) 10.9±0.01µs 10.6±0.02µs -2.75%
String concatenation (Compiler) 1598.8±1.35ns 1616.0±4.38ns +1.08%
String concatenation (Execution) 5.2±0.02µs 5.3±0.01µs +1.92%
String concatenation (Parser) 7.5±0.01µs 7.3±0.01µs -2.67%
String copy (Compiler) 1313.1±1.80ns 1321.3±3.57ns +0.62%
String copy (Execution) 4.6±0.01µs 4.7±0.02µs +2.17%
String copy (Parser) 5.6±0.01µs 5.5±0.02µs -1.79%
Symbols (Compiler) 900.4±3.82ns 911.6±3.69ns +1.24%
Symbols (Execution) 4.4±0.02µs 4.5±0.02µs +2.27%
Symbols (Parser) 4.3±0.01µs 4.2±0.03µs -2.33%

Copy link
Member

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! And the number of fixed tests also look good. Nice job!

Copy link
Member

@HalidOdat HalidOdat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! :)

@github-actions
Copy link

github-actions bot commented Mar 7, 2022

Benchmark for bad1dc0

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 509.9±2.06ns 501.5±2.08ns -1.65%
Arithmetic operations (Execution) 1790.6±9.05ns 1773.1±2.50ns -0.98%
Arithmetic operations (Parser) 5.4±0.01µs 5.5±0.01µs +1.85%
Array access (Compiler) 1287.2±2.36ns 1340.1±5.87ns +4.11%
Array access (Execution) 10.2±0.05µs 10.2±0.04µs 0.00%
Array access (Parser) 12.5±0.25µs 12.4±0.03µs -0.80%
Array creation (Compiler) 1966.8±5.61ns 1987.0±2.97ns +1.03%
Array creation (Execution) 3.1±0.01ms 3.1±0.01ms 0.00%
Array creation (Parser) 13.7±0.37µs 13.8±0.03µs +0.73%
Array pop (Compiler) 3.6±0.01µs 3.8±0.02µs +5.56%
Array pop (Execution) 1353.1±36.97µs 1373.1±12.96µs +1.48%
Array pop (Parser) 138.9±0.19µs 139.8±0.27µs +0.65%
Boolean Object Access (Compiler) 1149.8±35.71ns 1123.5±19.81ns -2.29%
Boolean Object Access (Execution) 5.8±0.14µs 5.9±0.13µs +1.72%
Boolean Object Access (Parser) 14.7±0.13µs 14.3±0.06µs -2.72%
Clean js (Compiler) 3.6±0.01µs 3.6±0.04µs 0.00%
Clean js (Execution) 1068.2±13.79µs 1078.9±11.16µs +1.00%
Clean js (Parser) 29.5±0.07µs 30.0±0.06µs +1.69%
Create Realm 269.5±0.39ns 252.5±0.32ns -6.31%
Dynamic Object Property Access (Compiler) 1765.5±5.04ns 1747.0±5.42ns -1.05%
Dynamic Object Property Access (Execution) 6.8±0.03µs 6.8±0.15µs 0.00%
Dynamic Object Property Access (Parser) 11.1±0.24µs 11.0±0.04µs -0.90%
Fibonacci (Compiler) 2.4±0.00µs 2.4±0.01µs 0.00%
Fibonacci (Execution) 1766.4±8.46µs 1850.6±32.08µs +4.77%
Fibonacci (Parser) 16.8±0.09µs 16.7±0.07µs -0.60%
For loop (Compiler) 2.1±0.01µs 2.1±0.01µs 0.00%
For loop (Execution) 38.7±0.14µs 39.6±0.14µs +2.33%
For loop (Parser) 14.3±0.03µs 14.1±0.03µs -1.40%
Mini js (Compiler) 3.5±0.02µs 3.5±0.01µs 0.00%
Mini js (Execution) 987.6±20.64µs 1000.0±7.47µs +1.26%
Mini js (Parser) 25.8±0.04µs 26.1±0.09µs +1.16%
Number Object Access (Compiler) 1078.0±7.90ns 1064.9±2.55ns -1.22%
Number Object Access (Execution) 4.7±0.14µs 4.6±0.03µs -2.13%
Number Object Access (Parser) 11.3±0.02µs 11.3±0.08µs 0.00%
Object Creation (Compiler) 1447.6±11.73ns 1469.2±5.35ns +1.49%
Object Creation (Execution) 6.2±0.02µs 6.1±0.03µs -1.61%
Object Creation (Parser) 9.7±0.02µs 9.6±0.02µs -1.03%
RegExp (Compiler) 1708.6±7.75ns 1684.8±3.99ns -1.39%
RegExp (Execution) 12.5±0.10µs 12.6±0.04µs +0.80%
RegExp (Parser) 10.5±0.04µs 10.5±0.05µs 0.00%
RegExp Creation (Compiler) 1465.6±4.18ns 1462.5±3.64ns -0.21%
RegExp Creation (Execution) 9.3±0.08µs 9.4±0.03µs +1.08%
RegExp Creation (Parser) 8.7±0.03µs 8.7±0.05µs 0.00%
RegExp Literal (Compiler) 1726.1±27.66ns 1728.3±4.39ns +0.13%
RegExp Literal (Execution) 12.5±0.03µs 13.0±1.05µs +4.00%
RegExp Literal (Parser) 8.5±0.03µs 8.5±0.03µs 0.00%
RegExp Literal Creation (Compiler) 1497.5±51.33ns 1475.7±3.62ns -1.46%
RegExp Literal Creation (Execution) 9.2±0.04µs 9.5±0.04µs +3.26%
RegExp Literal Creation (Parser) 6.8±0.04µs 6.8±0.02µs 0.00%
Static Object Property Access (Compiler) 1502.0±11.19ns 1481.7±8.55ns -1.35%
Static Object Property Access (Execution) 6.4±0.03µs 6.4±0.06µs 0.00%
Static Object Property Access (Parser) 10.4±0.03µs 10.3±0.03µs -0.96%
String Object Access (Compiler) 1529.1±6.30ns 1516.3±8.69ns -0.84%
String Object Access (Execution) 8.5±0.19µs 7.8±0.08µs -8.24%
String Object Access (Parser) 14.3±0.02µs 14.0±0.03µs -2.10%
String comparison (Compiler) 2.2±0.01µs 2.2±0.01µs 0.00%
String comparison (Execution) 5.9±0.06µs 6.2±0.03µs +5.08%
String comparison (Parser) 11.7±0.26µs 11.3±0.04µs -3.42%
String concatenation (Compiler) 1737.5±4.19ns 1727.3±38.65ns -0.59%
String concatenation (Execution) 5.4±0.08µs 5.4±0.02µs 0.00%
String concatenation (Parser) 8.0±0.06µs 7.8±0.03µs -2.50%
String copy (Compiler) 1364.4±7.03ns 1373.3±5.98ns +0.65%
String copy (Execution) 4.8±0.02µs 4.9±0.03µs +2.08%
String copy (Parser) 6.0±0.06µs 5.9±0.05µs -1.67%
Symbols (Compiler) 930.6±3.38ns 947.7±2.89ns +1.84%
Symbols (Execution) 4.7±0.01µs 4.9±0.12µs +4.26%
Symbols (Parser) 4.7±0.03µs 4.6±0.04µs -2.13%

@raskad
Copy link
Member Author

raskad commented Mar 7, 2022

bors r+

bors bot pushed a commit that referenced this pull request Mar 7, 2022
It changes the following:

- Implement destructing assignments for assignment expressions
@bors
Copy link

bors bot commented Mar 7, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Implement destructing assignments for assignment expressions [Merged by Bors] - Implement destructing assignments for assignment expressions Mar 7, 2022
@bors bors bot closed this Mar 7, 2022
@bors bors bot deleted the dstr-assignment branch March 7, 2022 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ast Issue surrounding the abstract syntax tree enhancement New feature or request parser Issues surrounding the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants