text: // Copyright (C) 2015 André Bargull. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  
  /*---
  es7id: 13.3.3
  description: >
    The rest parameter can be a binding pattern.
  info: >
    Destructuring Binding Patterns - Syntax
  
    BindingRestElement[Yield]:
      ...BindingPattern[?Yield]
  ---*/
  
  function empty(...{}) {}
  
  function emptyWithArray(...{p: []}) {}
  
  function emptyWithObject(...{p: {}}) {}
  
  function emptyWithLeading(x, ...{}) {}
  
  
  function singleElement(...{a: b}) {}
  
  function singleElementWithInitializer(...{a: b = 0}) {}
  
  function singleElementWithArray(...{p: [a]}) {}
  
  function singleElementWithObject(...{p: {a: b}}) {}
  
  function singleElementWithLeading(x, ...{a: b}) {}
  
  
  function multiElement(...{a: r, b: s, c: t}) {}
  
  function multiElementWithInitializer(...{a: r = 0, b: s, c: t = 1}) {}
  
  function multiElementWithArray(...{p: [a], b, q: [c]}) {}
  
  function multiElementWithObject(...{a: {p: q}, b: {r}, c: {s = 0}}) {}
  
  function multiElementWithLeading(x, y, ...{a: r, b: s, c: t}) {}
  
  