We're updating the issue view to help you get more done. 

let-bound namespace-qualified bindings should throw (if not map destructuring)

Description

Seen in a tweet...

1 2 user=> (let [a/x 42] x) ; throws CompilerException "Can't let qualified name ..." user=> (let [a/x 42, [y] [1]] x) ;=> 42

The second one should throw like the first one (also see CLJ-1318 where support for map destructuring of namespaced symbols was added).

Approach: Rather than allowing namespaced symbols to be returned from the map destructuring (the pmap fn), convert those symbols before returning them, so that any namespaced symbols encountered in the main cond of pb are an error and can be handled uniformly.

Patch: clj-1778-2-with-tests.patch

Screened by: Alex Miller

Environment

None

Status

Assignee

Ragnar Dahlén

Reporter

Alex Miller

Labels

None

Approval

Ok

Patch

Code and Test

Fix versions

Affects versions

Release 1.7

Priority

Major