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 http://clojure.org/special_forms#binding-forms, implementing more error checking, and adding more test coverage.
Error handling:
- CLJ-1702 - invalid associative key should error
- CLJ-1189 - non-symbol :or keys should error
- CLJ-5 - sequential destructuring of map gives confusing error
- CLJ-1630 - multiple & params should error
- CLJ-1309 - bindings after :as in sequential destructuring should error
Clarification/enhancements:
- CLJ-1803 - clarify (or change) constraints on when sequential or associative destructuring is allowed
- CLJ-1613 - clarify behavior of :or expressions and whether they can refer to other :or bindings
- CLJ-1676 - related to CLJ-1613 - delay or prevent evaluation of unused :or value expressions
- CLJ-1881 - clarify whether sequential destructuring making bindings available to later expressions in docs
Labels: