Skip to end of metadata
Go to start of metadata

There are a number of destructuring-related issues due to lack of specificity in the current documentation and/or lack of error checking in the implementation. This is an umbrella page for: improve the docs at, implementing more error checking, and adding more test coverage.

Error handling:

  1. CLJ-1702 - invalid associative key should error
  2. CLJ-1189 - non-symbol :or keys should error
  3. CLJ-5 - sequential destructuring of map gives confusing error
  4. CLJ-1630 - multiple & params should error
  5. CLJ-1309 - bindings after :as in sequential destructuring should error


  1. CLJ-1803 - clarify (or change) constraints on when sequential or associative destructuring is allowed
  2. CLJ-1613 - clarify behavior of :or expressions and whether they can refer to other :or bindings
  3. CLJ-1676 - related to CLJ-1613 - delay or prevent evaluation of unused :or value expressions
  4. CLJ-1881 - clarify whether sequential destructuring making bindings available to later expressions in docs